Posts

Go scope

Scoping in Go is built around the notion of code blocks. You can find several good explanations of how variable scoping work in Go on Google. I'd like to highlight one slightly unintuitive consequence of Go's block scoping if you're used to a language like Python, keeping in mind, this example does...

Posts

Tracking a call stack in Go with context

The use of context in Go can help you pass metadata through your program with helpful, related information about a call. Let's build an example where we set a context key, "stack", which keeps a history of the function names called over the lifetime of the context. As we pass the context object...

Posts

Go channels

Go uses goroutines to execute multiple bits of code at the same time. Channels allow for the aggregation of the results of these concurrent calls after they have finished.