What is the best way to learn go today?

Hello there everyone,
I am new to this community and to GoLang in general.
(I am junior developer and currently finish my degree in software engineering).

Recently I have received a task in my job,
the first thing I have to do is decide on the technologies I want to implement my solution with.
After a little research over the web, I have decided that Go might be well fitted to my solution.
I have never used it before and I’d like to do a real extensive tutorial and get a good base knowledge of it.

I have already tried a Udemy course " **Learn How To Code: Google’s Go (golang) Programming Language " by Todd McLeod and I find his teaching method not quite suited for me.
Currently I am going through YouTube video tutorial by freecodecacdemy which is pretty good but feels a little bit outdated…

Can anyone recommend on a good source?

I really like https://gobyexample.com/ if you’re interested in getting the basics fast. However, you should have experience in any other language. After that, you can practice by creating an application that comes to your mind.

Good luck in your beginnings!

3 Likes

Hi @itamar27,

Are you referring to this one: Learn Go Programming - Golang Tutorial for Beginners - YouTube

Indeed it looks outdated as it shows pages from golang.org (while the Go team moved to go.dev with most of the content in the meantime). However, Go is a very stable language that even comes with a compatibility promise, so most of what you learn there should still apply today. Having said that, the Go toolchain is perhaps the part of the language that changed most - especially recently when Go Modules were introduced. Not sure if the video covers that (I did not go through the 6 hours of video to check that :slight_smile:)

I used to point people to the Go Wiki as a starting point for learning resources, but just now I scrolled through the list again, only to find that many links point to rather old resources, which is probably not what you are looking for.

For a quick overview, gobyexample, that @s0xzwasd recommends, is certainly a good start. The Go team’s own Tour of Go is an alternative if you want to try out the code directly in the browser.

To get a feeling for Go through small projects, the Ardan Labs blog has some really nice Go projects, and my own blog at appliedgo.net is dedicated to that kind of Go stuff.

3 Likes

Welcome! In addition to the excellent resources the other people here have recommended, go.dev/doc/ has many links/guides. If you want a physical book, The Go Programming Language
by Alan A. A. Donovan and Brian W. Kernighan
is fantastic, and you can read the first chapter for free online to get a feel for the writing style and if it fits with how you learn things.

4 Likes

How have you decided that Go is good for you, and your solution, when you are not really familiar with it ?

One resource that did not get mentioned, are computer programming websites like hackerrank or leetcode. They all have Go as an available editor.

I know the question was not directed at me, but I’d like to mention that back in 2011 I read a single article about Go in an IT magazine and was hooked immediately. The advantages of the small and simple language design were just glaring obvious (especially when considering that this was the time when Java, JavaScript and C++ were the predominant languages, all of which can be subsumed as being rather convoluted).

Everyone of us sometimes happens to make a good decision that is only based on a gut feeling.

hi @christophberger,

I too got hooked up on Go because of similar reasons. But with age come wisdom: now I believe one should carefully plan what he invests his time into, as whatever decision you make will greatly impact your future.

Wise words indeed.

And I don’t say that every gut decision is good; rather, it may happen sometimes that a gut decision turns out to have been a good one.

That being said, I agree that careful evaluation is due before making a long-lasting decision.

Hey telo, actually that is a really good question.

I obviously lack hands on epxrience with different tehcnolgies, so i decided to go for a good read online. I have searched for projects with a familiart domain to my project and also for articles that compare between different programming languages in my problomes domain. The name GoLang came up A LOT.

With that being said, I don’t trust my “reading skills” so much (because I lack experience and understanding), so another good reason I choose to use Go, is because its high popularity, its vast community and documentation. (and also two good friends recommended on it).

But yes, I still didn’t find any good tutorial on how to build a project, and an updated system setup settings.