Since some time i am fascinated by the go programing language launched by Google in 2009. I am a person with a scripting language background (PHP and Python) and was motivated to learn a new programing language.
I chose go(lang), because i wanted to do some system programing with concurrency support.
Because i share my love with my friends and colleagues i am often asked How do i start with Go? or Do you got some good resources to learn Go?. This article is about which resources i used to learn Go.
- The A Tour of Go is the best start. It provides an overview about the syntax and the features in a short way.
- The book Go in Action is a good recommendation to get some backgrounds, best practices, pitfalls and usecases for language features. Even it is a MEAP this is worth to read.
- The guide for golang: Effective Go. It describes all features with backgrounds and examples.
- Read foreign go code of projects like docker, etcd or termius.
Some ideas for a project:
- A small rest API (http server)
- A small chat client (sockets)
- A small web / mailinglist crawler (concurrency)
Further useful resources are:
- Go by Example for example code how to use different features
- Golang weekly to keep updates of the Go community by email
- /r/golang to follow the reddit community about Go
- golang-nuts the official golang user mailinglist
- avelino/awesome-go to get a curated list of awesome Go frameworks, libraries and software
And now: Have fun during learn a new programing language!
Found a bug or a typo in this article? Feel free to create a pull request at Resources to learn Go(lang) at GitHub.