I learn Golang now I want to share the resources I found useful for learning.

First of all, I strongly recommend to listen to The Web Platform Podcast Episode 55. It is an interview with Andrew Gerrand, Go core contributor. It has lots of really awesome links in the shownotes.

The Go Playground (https://play.golang.org)

It is not a teaching resource per se but it is a very powerful tool. Here you can type in a code snipped, press “run” and the code will be executed. You can also share created snippets with others. These snippets are really popular among the StackOverflow users.

Books

I’ve read 2 books on Go programming so far.

“An Introduction to Programming in Go” — a very simple and short book. It can be a good introduction to Go, it you are not a very experienced developer. It was a bit too simple to me, however it might be a nice book to scan through to get used to the language syntax and basic constructs.

“The way to Go”. This is by far more advanced book than the previous one. It is long and very detailed. The book starts with the basics but it covers a lot of topics in the language and the standard library. It also can be used as a reference.

Best Practices

Books help to know the features and capabilities of the language. But knowing the language is just one side of the coin.

The development community usually have “best practices”, containing the experience on how programs should be developed and what typical mistakes the developers make. You will master this while using the language, but something can be learned from the people who actually used the language in real projects.

Vincent Batts — Golang: The good, the bad, & the ugly — this is an introductory talk, you can learn some of the “unusualities” of the language even before starting to learn it.

How SoundCloud uses Go — a really nice video about how Go is used in real life by a big project.

7 common mistakes in Go and when to avoid them.

Stupid Gopher Tricks — just a nice presentation about some techniques that Go can do and that makes a life easier. (The whole https://talks.golang.org/ is a really useful resource.)

Source code

One more way to learn the Go code is to study an open-sourced project. Go standard library is a good example to study first. Also there are a lot of interesing open source codebases to learn from.

There are a lot of golang project on GitHub right now. Go has a very open-source friendly community.