Since every user has a preference for different modes of learning, thus I will be covering text-based articles, tutorials, videos, and popular courses around Golang. Golang is growing quite quickly in terms of popularity, and you will fall in love with Go once you start exploring it.
Developer’s Guide
With around 50K students, this is one of the best complete pack to learning Go from the basics. This course if highly tested and works well for most of the students; once you purchase, you have lifetime access for this. In case you like learning from complete video courses, then this is exactly what you need! This course is ideal for beginners and for folks who want to revisit the introductory concepts. The course has 9 hours of on-demand video with additional code resources and assignments.
Some of the topics covered in this course are –
Setup, installation, and basics of the language. Packages and File structures Variables, Functions, Arrays, and Slices In-depth coverage of maps, structs, and interfaces Channel and go-routines (Concurrent programming)
Bootcamp
With 300+ lectures, the complete Bootcamp course on Udemy is definitely a good buy and right place to learn Golang. You learn by building applications like –
Log parser File scanner Spam masker
Along with this, the course offers over 1000+ hands-on exercises. Apart from covering the basic concepts of Go like structs, interfaces, and channels, this course has an interesting project where you learn how to animate a bouncing ball. You will also receive a certificate of completion at the end of the course.
Tour of Go
Well, I am a big fan of official Golang documentation, blogs, and tutorials. This interactive course is free and doesn’t require any local setup. Just open the website and start learning from basics with hands-on code for each topic. This is a course you should start with if you are just looking to explore and want to learn basics without any setup.
Go by example
This is not exactly a full course, rather a go-to place when you forget the basics. The site covers all the concepts with an introductory text and a full running example. The site is as simple as it could be, thereby focussing on learning. Some of the basic intro posts are about –
Variables and Constants For If/Else and Switch Arrays and Slices Maps Range Functions
and almost all the topics you need! Do check it out and bookmark it for reference.
Learn X in Y minutes
Well, if you want a quick tour of basics, learn X in Y minutes is an awesome resource not only for Go but for almost every programming language. It is community-driven and covers a lot of topics on a single page. Do contribute back once you get good at Go. Here is a code snippet from the tutorial, which explains concurrent programming in one function. So concise and on-point, do give this a shot if you want a quick overview of any specific topics for Golang.
Gotime
If you are a fan of audio learning, Gotime is a good podcast. A lot of awesome developers come and share their real-world knowledge and how they use Go in their companies. You should also check GopherCon (golang conference) in which prominent people share their learnings with the community. These communities discuss the latest trends and improvements around Go. I’ll add some of the popular podcasts here –
Creating the Go programming language Structuring your Go apps Concurrency, parallelism, and async design
Books
There are a lot of very good books. I’ll add some of the favorites here –
The Go Programming Language (Alan A. A. Donovan and Brian W. Kernighan) Golang Bootcamp Book Go Web Programming – focused more on web development Awesome Go books – covers a huge list of books on golang
Blogs
There are some pretty good blogs around Golang. There are a lot of articles on medium as well, which you can explore. I’ll share a few here which you’ll find useful –
Go blog – official Dave Cheney Awesome Go Golang Bot
YouTube
Fancy video-based learning? Sure, check out this Golang tutorial for beginners by freeCodeCamp.
Conclusion
I would recommend completing one of the courses above if you are a beginner and join the Golang community. Also, do share your learnings with the world and contribute to making Go even better. I hope you learned something useful and all the best for your journey with Go.