- Great toolchain
- Rich standard library, especially for systems-level and network-level programming (e.g. HTTP servers)
- Simple primitives for concurrency
- Light-weight, statically linked binaries
- Strongly typed, fast & informative compiler
- Very simple language, often only one way to do things
- Vibrant community
- Install Golang (brew)
- Install Sublime Text 3 (or your favourite editor)
Most commonly used commands:
go get [-t -u -v -d]go installgo run
Also used:
go fmt(if your editor doesn't do it for you)go test [-c]go buildgo list
$GOPATHpkg,bin,srcPATH=$GOPATH/bin:$PATH- Optional:
direnv - libraries and executables
- Autocompletion
- Autoformatting
- Auto-imports
- (For Sublime):
GoSublime+goimports
- Ginkgo and Gomega
- Advanced:
gbytes,gexec,ghttp - Advanced: custom Gomega matchers
go run, again- Playground
- Tour
- Go Koans
- Documentation
- Standard library is very well documented
- Many other libraries' documentation can be found on godoc.org
- Advanced: spin up your own godoc server
godep- Advanced: vendoring via submodules
- Gotcha:
hg
- Gotcha:
- pprof (debug server, profiling tool)
gvm