Table of contents
I started to learn Go last year. Go is one of the most popular programming languages and is the trend in recent years. Also, for a JavaScript-based developer like I, Go is considered an easier approach to learning a strong-typed language compared to C and Java.
This article is about my thoughts on some resources that I used to learn Go. Hope it helps you.
Go tour websites
One of the best places to start is the official Go Tour website: https://go.dev/tour. This is an interactive tutorial that 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.
Effective Go
Effective Go is another official resource that is available for free from the official Go website golang.org/doc/effective_go.html. I found it really useful especially because is not just a syntax reference but a more complete description of all the major Go features and constructs and how to use them effectively.
Go by example
If you're already understood the basics of the language, https://gobyexample.com is another great website where can find a full code implementation.
200lab
200lab is created by Viet Tran, a solution architect and technical advisor in Vietnam.
I learned Golang for scalable backend course. I found the course is really helpful. They don't teach you basic syntax where you can google it as Udemy courses, but great APIs architecture and other tricks to improve your backend performance.
They also have a Q&A group where you can post your questions and get answers within a day.
They don't teach you how SQL and docker work or their syntax, so you have to google them.
The only disadvantage is the content is in Vietnamese.
Go101
If you're preparing for a Go interview. Or you just want to broaden your knowledge. Go101 is definitely for you. They have quizzes, tricks, and great books. They also cover advanced topics such as Go optimizations.
GoExercises
GoExercises is another awesome website to practice Go concepts via mini-projects.