DEV Community

Cover image for Learning Go
gallau
gallau

Posted on

Learning Go

Go-lang was created at Google in 2007, at the time of writing this post Go is at version 1.19. I have been learning to program with Go to create AWS Lambdas to offload some admin tasks.

As I am from a Performance Testing background and have used Loadrunner which uses a C variant compiler I am familiar with some programming practices. However, Go was a whole new world for me.

The following resources I am currently using to aid my learning. This article is aimed at those looking to get into Go programming.


Podcast: Go Time

"Your source for diverse discussions from around the Go community. This show records LIVE every Tuesday at 3 pm US Eastern. Join the Golang community and chat with us during the show on the #gotimefm channel of Gophers slack. Panellists include Mat Ryer, Jon Calhoun, Natalie Pistunovich, Johnny Boursiquot, Angelica Hill, Kris Brandow, and Ian Lopshire. We discuss cloud infrastructure, distributed systems, microservices, Kubernetes, Docker… oh and also Go! Some people search for GoTime or GoTimeFM and can’t find the show, so now the strings GoTime and GoTimeFM are in our description too."

I googled learning go and the "Go Times" Go for Beginners episode appeared on the list. The guests on the show highlighted several resources across the web and provided general advice.


Linkedin Learning

A friend advised me earlier this year that you can access Linked Learning for free at the local library. So if your library offers you access to LinkedIn Learning I would recommend Go Essential Training. This is aimed at a beginner level and will teach you how to set up your development environment. Thank you Claire for the tip.


Exercism

I wanted to use this site as it was recommended by the Go Time podcast. It was above my level at the time. I found the interface confusing but after the first couple of challenges, I started to get into a rhythm. I found it easier to complete the challenges when I pulled the examples of git into my local VScode IDE.


Learn Go with Tests

As I have a background in testing I found this course to be the most straightforward. It walks you through the TDD process. This involves writing your tests first and then your code. As I had completed the previous courses this course reinforced my learning.


Learn X in Y minutes

If you have completed the above courses or you have a knowledge of programming this class is very beneficial for revision. It is nicely laid out on a single page and uses comments to guide you through the various go practices.


So hopefully the above suggestions will assist you on your journey. If you are brand new to coding I would recommend looking at a beginner course on git. This will make it easier to manage all the files that you create.

If you know of other materials that could be helpful can you please leave a comment with a link?

Thank you.

Best of luck

Is mise

Gallau

Top comments (0)