News
Go's New Experimental Packages: What to Know
Go 1.25 introduces new experimental packages for encoding and unmarshaling of Go types. The new packages are not visible by defaul...
Flight Recorder: A New Go Execution Tracer
The flight recorder is just the latest addition to the Go developer’s toolbox for diagnosing the inner workings of running applica...
Clean Code: Concurrency Patterns, Context Management, and Goroutine Safety [Part...
This final installment in the Clean Code in Go series breaks down how to write safe, idiomatic concurrent Go code using context, g...
Go’s 16th Anniversary and the Major Highlights of 2025
Go 1.24 and 1.25 were released in February and August of this year, respectively. Go is the most productive language platform for...
Clean Code in Go (Part 4): Package Architecture, Dependency Flow, and Scalabilit...
- Use `internal/` for private business logic- Define interfaces where you use them, not where you implement- Keep import graph f...
Clean Code in Go (Part 2): Structs, Methods, and Composition Over Inheritance
Go offers composition through embedding, interfaces without explicit implementation, and clear rules for methods. The difference b...
What Are Generics? An Introduction for Beginners
In this article we’ll introduce the new language features. We won’t try to cover all the details, but we will hit all the importan...
Go: Can It Mitigate Supply Chain Attacks?
All together this means it’s possible to build rich, complex applications with just a handful of dependencies. No matter how good...
Clean Code: Functions and Error Handling in Go: From Chaos to Clarity [Part 1]
- Keep functions under 50 lines (The Screen Rule)- One function = one responsibility - Use early returns instead of nested if st...
A Guide to Familiarize Yourself With Workspaces in Go
Workspaces in Go 1.18 let you work on multiple modules simultaneously without having to edit go.mod files for each module. Each mo...
