Setup local environment
- install golang: brew install go | yum install golang | apt-get install golang
- create folder for go packages: mkdir ~/go
- add auto load env: GOPATH=~/go; PATH=$PATH:$GOPATH/bin
Setup IDE
- download idea https://www.jetbrains.com/idea/download/
- install golang plugin https://github.com/go-lang-plugin-org/go-lang-idea-plugin
- [optional] Komodo also support golang http://komodoide.com/
Tools and Libs
-
Test framework: https://github.com/stretchr/testify
-
Package manager: github.com/mattn/gom I prefer this one becuase it is simple and it is possible to store all vendors in local folder.
-
Log manager: https://github.com/Sirupsen/logrus
-
Monitoring: https://github.com/gocraft/health
-
Sidekiq compatible BackgroundJobs: https://github.com/jrallison/go-workers
-
Libchan: http://blog.codeship.com/composable-go-services-using-libchan/
-
Web Frameworks:
-
Cache:
-
Practice Go and share samples via:
-
Bootstrap project: http://go-bootstrap.io
-
Always format your code before commit:
-
Tutorial: http://blog.golang.org/go-fmt-your-code
-
Hooks: https://golang.org/misc/git/pre-commit or https://github.com/edsrzf/gofmt-git-hook
Books, News and Tutorials
- Best practices: http://peter.bourgon.org/go-in-production/
- News: http://golangweekly.com/
- Books and Tutorials:
- https://golang.org/doc/effective_go.html
- https://github.com/dariubs/GoBooks
- https://drive.google.com/drive/u/0/folders/0B6mIeMASod32VGo1eHdmbThISms. I started from "Programming in Go"
- https://github.com/mindreframer/golang-stuff
- https://gobyexample.com/
- http://soryy.com/blog/2014/common-mistakes-with-go-lang/
- http://thenewstack.io/make-a-restful-json-api-go/
- https://joshrendek.com/2015/09/golang-performance-tips
- https://joeshaw.org/net-context-and-http-handler/