Go Bookmarks #
An opinionated list of best-in-class resources for Go.
Libraries #
What follows is a list of Go tools and libraries which I consider to be best in class. Your tastes may vary.
- CLI Argument Parsing
- go-arg takes a data-oriented approach, leveraging struct definitions.
Great for small projects. There are better alternatives for large projects.
https://github.com/alexflint/go-arg - HTTP Router
- Chi is small, fast, composable, and drop-in compatible with net/http.
https://github.com/go-chi/chi - Logging
- Use slog!
https://pkg.go.dev/log/slog - PanicParse
- Digest stack dumps with ease.
https://github.com/maruel/panicparse - Pretty Printing
- Litter wins for dumping Go literals which can be re-used in tests.
It’s also the more configurable than spew.
https://github.com/sanity-io/litter
Shame List #
These are projects which, for one reason or another, I strongly advise avoiding.
- Cobra
- What started out as a great CLI builder has become a behemoth of complexity.
https://github.com/spf13/cobra - MD5
- Friends don’t let friends use md5. Not for any purpose, ever. Even if you
don’t want cryptographic strength, there are much better checksums.
https://pkg.go.dev/crypto/md5 - ORM
- Don’t.