Skip to main content


Go is currently my favorite programming language.

I mostly love the tooling around it like VS Code and its Go plugin. The powerful go command line tool and the rich ecosystem of libraries and tools that people have built.

Go promotes composition over inheritance.

Tour of Go & Learn Go with Tests are great places to learn Go.

GoReleaser is useful for publishing. revive & Staticcheck are great linters.

Commenting Go code

  • Comments documenting declarations should be full sentences.
  • Comments should begin with the name of the thing being described and end in a period.

Error checking

  • You can log.Fatal(err) when playing with code.
    • In actual applications you need to decide what you need to do with each error response - bail immediately, pass it to the caller, show it to the user, log it and continue, etc ...



// Log error
if err != nil {