I've been writing Go for a while now, and somewhere along the way something shifted.
My code started feeling less like "code that happens to be in Go" and more like... Go code. Hard to explain, but you notice it when it happens.
Go has patterns. Not rules exactly, but ways of doing things that show up everywhere across the language and the ecosystem. Error handling. Naming. Control flow. The way you structure types. You start picking them up gradually, and when you finally start using them yourself, your code starts to feel right in a way that's difficult to articulate.
This article is just me sharing the ones that clicked for me. Some are well-known idioms. Some are just habits I picked up from reading enough Go code written by people who clearly knew what they were doing.
This isn’t the official take though. For that, go read Effective Go. It's from the Go team and it's genuinely good. Think of this as the stuff I wish I'd come across earlier.








