Go Bookmarks

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.