I like reading again and again some resources which make me understand Go better each time. Some of them are worth being saved as bookmarks, which is what I’m doing right here. I wish I had known some of them a few years ago.
Why:
Intro:
- https://github.com/johnsiilver/go_basics/raw/master/go_basics.pdf
- https://github.com/juanpablopizarro/golang-bootcamp
- https://golang.org/doc/effective_go.html
- https://github.com/golang/go/wiki/CodeReviewComments
- https://github.com/golang/go/wiki/TableDrivenTests
- https://blog.golang.org/errors-are-values
- https://github.com/golang-standards/project-layout
Concurrency and memory model:
- https://blog.golang.org/share-memory-by-communicating
- https://golang.org/doc/codewalk/sharemem/
- https://golang.org/ref/mem
Channels:
- https://medium.com/capital-one-tech/buffered-channels-in-go-what-are-they-good-for-43703871828
- https://medium.com/capital-one-tech/building-an-unbounded-channel-in-go-789e175cd2cd
Profiling:
Scheduling, stacks, pointers, memory:
- https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html
- https://www.ardanlabs.com/blog/2017/05/language-mechanics-on-stacks-and-pointers.html
Algorithms, patterns, tools:
- https://github.com/TheAlgorithms/Go
- https://github.com/hoanhan101/algo
- https://github.com/tmrts/go-patterns
- https://github.com/avelino/awesome-go
People for people: