Resources for Learning Go

(Last Updated: Sep 27th, 2023)

Below is a collection of links I have gathered as I have been learning Go. I plan to keep this updated as the learning continues…

Getting Started

Project Structure

Style Guides / Design


  • Go _test packages - A test package naming convention built into Go to enable black-box testing of your packages.
  • Structuring Tests in Go - Four ways that can help make your Go tests more clear and maintainable.
  • Test fixtures in Go - Some insight on where to store test data within your Go application.
  • Go Test Comments - A collection of common comments made during reviews of Go test code.

Other Topics

  • Enums - Different ways of implementing enums in Go
  • Context - Thinking differently when concurrency is the default.
  • Linting - A very fast, easy to use linting tool bringing together all of the best linters available in the community.