Learning Go
Some resources I’ve found incredibly useful in learning Go, aka Golang.
Aug 10, 2019
2 min read
Ready to learn Go?
Start exploring Go by writing tests with Learn Go with Tests.
Above all, I’d recommend the The Go Programming Language book. It was published in 2015, but thanks to the stability of the Go language, this is still the best book for picking up Go.
Watch
- The Why of Go
- Simplicity Is Complicated, Rob Pike
- Concurrency Is Not Parallelism, Rob Pike
- A Tour of Go, Russ Cox
- Go: building on the shoulders of giants and stepping on a few toes
Read and do
- The Go Programming Language ⭑
- Learn Go with Tests ⭑
- A Tour of Go
- Effective Go
- Package Docs
- Language Specification
- Many links on golang.org Documentation. Especially the codewalks.
Golang news and updates
Cheatsheets
Practice
Podcasts and video series
Linting
- golangci-lint
- Configurable meta linter
Development
export GOPATH=~/go
export PATH="$GOPATH/bin:$PATH"
eval "$(gimme 1.12.7)"
- Versions of Go
- Use gimme for easy version switching:
brew install gimme; eval "$(gimme 1.12.7)" - Add the code above to your shell init script: ~/.bash_profile, ~/.profile, etc
- Use gimme for easy version switching:
- Use Go modules (read this wiki)
- You can either:
- A: git clone the code outside your GOPATH (ie, next to your other code) to use go modules automatically (recommended)
- B: set
GO111MODULE=onand keep your Go code in your GOPATH
- You can either:
IDE Tools
- VS Code
And finally… the Go Gopher!



Read more posts like this in the
Software Engineering Toolbox
collection.