This is a personal interpretation of Go’s nonexistent style/conventions guide with some experience-based kvetching & pet peeves thrown in; it’s a highlights reel and supplement to other guides.
- There are trade offs to everything. This is a sign, not a cop.
- Most of this advice/preferences comes down to keeping things ‘simple’—reducing interdependencies and knowledge duplication within the code (including textual clutter) and keeping things readable for Sergey (as I often, and repeatedly, skim code).
- Go is an opinionated language written by opinionated C programmers. There are better ways to write code in other languages that are hard to do in Go, by design. Don’t fight it—sometimes you just have to write a for loop and that’s OK.