Photo by Annie Spratt on Unplash

Resources for learning Go

There’s a lot of great content out there for learning Go — so much, in fact, that I often get asked for a list of resources people should look at. Whether you’re a beginner programmer or experienced engineer, if you’re interested in learning Go here’s what I recommend checking out — roughly in the order given.

  • Effective Go — Tips for writing clear, idiomatic Go code.
  • Code Review Comments — a laundry list of common mistakes, not a style guide.
  • Go Web Examples — learn how to build web services in Go through a series of code snippets.
  • Learn — the official community wiki page linking to community-driven resources/initiatives.
  • LearnErrorHandling —a good list of resources about error handling.
  • LearnTesting —a good list of resources about testing.
  • Official Go FAQ — answers a lot of questions about the project, language design, features, etc.
  • Unofficial Go FAQ — a more practical FAQ, answering common questions you might have while debugging issues with your code.
  • “Stupid Gopher Tricks” by Andrew Gerrand: video / slides
  • “Evolutionary Optimization in Go” by Peter Bourgon: video / article
  • “Go + microservices” = Go kit by Peter Bourgon: video / slides
  • “Generating Better Machine Code with SSA” by Keith Randall: video / article
  • “Forward Compatible Go Code” by Joe Tsai: video / article
  • “Microservices in Go: tools, patterns & abstractions” by me: slides
  • Official talks archive

#DevOps, #Security, Go (#golang), #Linux, #Docker, #Kubernetes. DevOps Manager @Xero. Previously: DevTools Engineering Manager @Cloudflare. Opinions are my own.

#DevOps, #Security, Go (#golang), #Linux, #Docker, #Kubernetes. DevOps Manager @Xero. Previously: DevTools Engineering Manager @Cloudflare. Opinions are my own.