- 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
- The Go Programming Language
- A Tour of Go
- Effective Go
- Package Docs
- Language Specification
- Many links on golang.org Documentation
- Especially see: codewalks
- golangci-lint
- Configurable meta linter
- Versions of Go
- Use gimme for easy version switching: brew install gimme; eval "$(gimme 1.12.7)"
- Add this to your shell init script (~/.bash_profile, ~/.profile, etc)
export GOPATH=~/go
export PATH="$GOPATH/bin:$PATH"
eval "$(gimme 1.12.7)"
- 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=on
and keep your Go code in your GOPATH
- You can either:
- VS Code