This page looks best with JavaScript enabled

Top 6 Free Learning Resources I used to Learn Go

 ·   ·  ☕ 4 min read

The internet is filled with Go learning resources. And I am not going to repeat all the links here. I will list only the resources that I went through.

I am a self-taught programmer from start. And have limited knowledge of computer science. Which of course is changing day by day. I had a background in Python before getting into Go. So my recommendations will also be aligned with my experience level.

Connect with me on LinkedIn.

Learn Go with Tests

The Learn Go with Tests not only teaches the language, but it also enforces you to follow TDD. Very motivating. The jobs I have applied in Backend also have TDD listed as one of the pluses. So TDD is a must if you want to grow as a software engineer. I would recommend using this resource alongside Go by Example.

Difficulty Level: Beginner - Intermediate
Type: TDD, DIY

Gophercises

Once familiar with the syntax, gophercises will take you on a tour of the language. Exercises demonstrate what can be achieved with Go.

I was stuck at the Blackjack lesson of the course. Reason 1 being my limited familiarity to Blackjack. And secondly, rapidly jump editing here and there without context. At some point I thought this series is not someone of my level.

Although all the exercises I encountered will now were of easy to follow. I can say some were the one will make me think I should skip that exercise. Perhaps his paid courses maybe worth try. I haven’t tried though.

I am still going through this material as of July 2020.

Difficulty Level: Beginner - Intermediate
Type: DIY

GolangBot

One of the best resources after when you want to get around with syntax.

Naveen Ramanathan uses object-oriented analogies from Python to clear the concept of composing in Go. If you are coming from Python, you will understand concepts like interfaces, pointers, variadic functions in no time, that too with examples.

This series also covers concurrency related concepts with examples.

Difficulty Level: Beginner
Type: Syntax, DIY

GopherCon Videos

Of course, watch conference videos no matter what the language is. Just go to YouTube and search Gophercon.

You may narrow your search by looking up for a specific year, search term such as gophercon 2020 will work. Or maybe by country, how about gophercon india?

The videos range from beginners to syntax to workflow to news to what not.

Difficulty Level: All
Type: All

Gophers Slack

I used to do a lot of IRC back in the time. But now SaaS such as Discord and Slack has gained a lot of popularity.

If there is only one resource to recommend. I would recommend this gopher slack workspace.
On gopher slack you can get quicks response which you can’t even get on StackOverflow. And you don’t even have to worry about your question getting closed.

You can find various channels ranging from beginners, to gophercises, to Hugo and what not. There is also a channel called #showandtell, where one can show off their project/blog and get feedback.

Difficulty Level: All
Type: Chat

Go by Example

While others might recommend A Tour of Go, I will recommend Go by Example. Both are equally good, I find the later one easy.
I use them as a reference book.

Difficulty Level: Beginner
Type: Reference

Bonus: StackOverflow Go tag info

If you are still low on resources, follow Go Tag info on StackOverflow. This is how I still find resources to any new technology I want to learn.

Difficulty Level: All
Type: All

Effective Go

This is not a tutorial per se, but Effective go will make you write idiomatic go. If you don’t comply with these rules, the gopher community will protest against you.
This is equivalent to the Zen of Python, but in an explanatory way.

https://golang.org/help/


There are many more resources out there on the web, many more being added by the time. These ones are the one with which I have spend most of the time.
What what is your best resource? Did you choose something different? Please share it with the community.

Note: Background image used is by Denise Yu.

Share on

Santosh Kumar
WRITTEN BY
Santosh Kumar
Santosh is a Software Developer currently working with NuNet as a Full Stack Developer.