The basics of the basics.
A bunch of examples written in Go.
https://quii.gitbook.io/learn-go-with-tests/
Learn Go through test-driven approach.
https://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/
A list of commong mistakes people make when beginning to write Go code.
https://timr.co/go-interfaces-the-tricky-parts
A good explanation of how interfaces work in Go.
- https://blog.golang.org/context
- https://blog.golang.org/go1.13-errors
- https://blog.golang.org/json-and-go
https://rakyll.org/style-packages/
One of the famous figures and main contributors to Go language, Rakyll, writes about importance of naming and structuring of the packages.
https://golang.org/doc/effective_go.html
Effective Go article is a community evangel of how Go code should be written.
https://github.com/golang/go/wiki/CodeReviewComments
Wiki page from Go repository with idiomatic code habits that would help you to avoid traps of trying to write Java (or C#, or TypeScript, or Javascript) in Go which never works.
https://github.com/uber-go/guide/blob/master/style.md
Idiomatic conventions followed at Uber, compliant with goimports, golint and govet.
https://www.youtube.com/watch?v=LMSbsW1Xpwg
In this lightning talk, Ben Johnson gives a quick idea of what kind of issues you might face with inappropriate project structure.
https://www.youtube.com/watch?v=PTE4VJIdHPg
Peter Bourgon dives deeper into the ways of setting up the project structure that are more adopted within the industry, providing also more justifications on issues that he was facing in his Go journey. A lot of his practices are widely used within the Go community.