blog.rohitlokhande.inHow Do Go Channels Work? An Easy ExplanationWhen you start learning Go, you quickly hear two thingsgoroutines → run functions concurrentlychannels → help goroutine talk to each other But why do they exist? Because when multiple goroutines run at the same time, you need a safe way to share data...Dec 13, 2025·15 min read
blog.rohitlokhande.inUnderstanding the fmt Package in GOThe fmt package is one of the most fundamental and frequently used packages in Go. Whether you’re printing values, formatting strings, scanning input, or even wrapping errors — fmt is everywhere. Because of its importance, the fmt package is also a c...Nov 30, 2025·9 min read
blog.rohitlokhande.inGoroutines: The Power Behind Go's ConcurrencyIf you’ve ever worked with Java threads, Python’s multiprocessing, or JavaScript async/await, you know that concurrency can be tricky.It’s either too complex, too heavy, or too unpredictable. But then comes Go, with a fresh take—simple, efficient, an...Nov 18, 2025·10 min read
blog.rohitlokhande.inMultiprocessing vs Multithreading: Understanding Concurrency and ParallelismIn this "Go Deep with Golang" series, we have nearly covered all the fundamental topics necessary for a solid understanding of the language. Before we proceed to the next topic, which is Goroutines, it is crucial to first grasp the concepts of multip...Nov 15, 2025·9 min read
blog.rohitlokhande.inMastering Error Handling in Go - The Art of Simplicity and ClarityError handling is one of the most defining design choices in Go. While other languages use exceptions, try/catch, or even silent failures, Go does something refreshingly different: it treats errors as regular values. In this blog, we’ll dive deep int...Nov 11, 2025·11 min read