My 5 favourite online resources to learn Go from scratch in 2020
This is a list of my 5 favourite resources I would suggest to start learning Go from scratch. Before going into the resources let's see why I think it's worth learning golang in 2020
How Go is trending in 2020Golang is reportedly one of the fastest growing and most loved programming languages in the past years. The recent StackOverflow Developer Survey showed how Go is ranking as one of the most wanted and loved programming languages right now, ranking as 3rd and 5th respectively for the 2018 report. Yet another research showed how Go is being a popular programming language right now, is the Hackerrank Developer Skills Report, where Go ranks as the first language developers are eager to learn next.
1. The Go Tour websiteOne of the best places to start is the official Go Tour website: https://tour.golang.org. This is an interactive tutorial which you can use to learn Go by running your own code snippets on the website itself. The tour is divided into a set of modules each explaining a different concept with a couple of exercises at the end of each module. The interesting thing is that the tour is available offline just by running
go tool tourin your command line if you have already installed Go locally.
2. Effective GoEffective Go is another official resource which is available for free from the offical Go website https://golang.org/doc/effective_go.html. I found it really useful especially because is not just a syntax reference but a more complete description on all the major Go features and constructs and how to use them effectively.
3. Go By ExampleAnother interesting place to find good examples when you have already understood the basics of the language and want to start hacking on is https://gobyexample.com. Go by Example is a website with the most common examples, from like how to work with JSON to how to create a buffered channel
4. The Go Bootcamp online bookThere is a free online mini book on how to get started on Go called The Go Bootcamp which you can find at http://www.golangbootcamp.com/book/. It has a list of basic constructs and concepts you need to grasp in a new programming language (like control flows, interfaces, concurrency...) each of them are then linked with a interactive example on the Go playground
5. The Golang FAQThe official Go website is full of amazingly good resources like the Golang FAQ section https://golang.org/doc/faq
6. Go (Golang) Programming BooksThere is plenty of free resources you can use to learn Go (Golang) but if you want some more structure and information packaged in an effective way then there are a couple of books which may interest you
- The Go Programming Language (Addison-Wesley Professional Computing) by Alan A. A. Donovan and Brian W. Kernighan (Addison-Wesley Professional Computing Series)
- Learning Functional Programming in Go by Lex Sheehan (Packt Publishing)
- Go in Action by William Kennedy, Brian Ketelsen, Erik St. Martin (Manning Publications)
Golang Jobs Weekly