Ordered list of resrouces I used to learn golang while writing a REST web service for work.
- The Go Programming Language](http://www.gopl.io/)
- Concurrency is not parallelism
- How to structure your Go applications:
- Structuring Applications in Go
- Structuring Applications for Growth - subtle way to use method expressions (interface type & struct with func members) to help create test doubles/mocks.
- Structuring Tests in Go
- WTF Dial - an application that demonstrates Ben Johnson's design philosophy (github repo)
- Advanced Testing with Go - Mitchell Hashimoto
- Go database/sql tutorial
- JSON, interfaces, and go generate - Francesc Campoy
- 10 things you (probably) don't know about Go - Andrew Gerrand
- Go best practices, six years in - Peter Bourgon
- Ben Johnson's Medium series - walkthroughs to help you understand the standard library better.