The checklist for learning Go

I've asked myself the question about a year ago, and so far this is what I have done. Hopefully this will be helpful to someone who is starting to learn Go.

  • Start with A Tour of Go, and after that build a small program to reflect everything you have learned, may be a quick sort algorithm.
  • Watch the following video, Derek Banas is famous for "learn in one video" videos where he covers the subject topic in a lucid yet comprehensive fashion.
  • After that, go and read the guides: How to Write Go Code, and Effective Go to get a grasp on writing idiomatic Go code, and to familiarise yourself with the "Go" conventions
  • While you're at doing the above, it is also recommended to read the book "Introducing Go", by Caleb Doxsey. There is a freely available PDF on the internet: pepa.holla.cz/wp-content/uploads/2016/10/In..
  • Doing all the above should make you sufficiently comfortable with writing, reading, and comprehending, Go code. Now you could go anywhere from here. Maybe the following place which teaches you "Applied Go"

There! I hope this will inspire some of you to give Go, a go! :D :D

Also, if there are any Go veterans here, please share the resources that one should look at, after going through this path. Thank you!

Write your comment…

11 comments

After that, go and read the guides: How to Write Go Code, and Effective Goto get a grasp on writing idiomatic Go code, and to familiarise yourself with the "Go" conventions

This is a must. Effective Go is probably the best collection of information available for go.

Reply to this…

Hashnode is a friendly and inclusive dev community.
Come jump on the bandwagon!

  • 💬 Ask programming questions without being judged

  • 🧠 Stay in the loop and grow your knowledge

  • 🍕 More than 500K developers share programming wisdom here

  • ❤️ Support the growing dev community!

Create my profile

Thank you for writing this, Jennifer. I have been wanting to learn Go for some time, and this is really helpful. :)

Reply to this…

There's also: gobyexample.com and the standard library which is open source and fantastic: golang.org/pkg ^_^

Reply to this…

Golang seems to be gaining in popularity, cool. But I have a few honest questions that aren't easy for me to find answers to.

Why would one want to learn Go?

What types of programs does one build with Go (web, cli, etc.)?

What makes Go a better language than say another language like Haskell, Python, Lua, Clojure, etc?

Thank you!

Why would one want to learn Go?

Overall, the language is well thought out and fixes pretty much all the issues I encountered with other languages. It is a good general purpose language with really good support for server side programming.

What types of programs does one build with Go (web, cli, etc.)?

There is a way to build pretty much everything in Go. Heck there is a GTK support as well https://mattn.github.io/go-gtk/.

The best use-case is for writing micro-services.

What makes Go a better language than say another language like Haskell, Python, Lua, Clojure, etc?

Thats a loaded question. :)

I will try to answer in short. It would be better if you cross check it by actually writing something and comparing.

Haskel = simplicity & performance
Python = performance
Lua = I am not sure I have never used Lua at any scale :P
Clojure = slight advantage due to being compiled, 
           lisp vs go formats

Choosing one over other often is not an opinionated discussion, instead it is factual (in most cases). There are some languages which beats others when it comes to specific use-case and hence is irreplaceable (Yes you Erlang ). Go has its own advantages and places where it is unbeatable (networking & micro-services), just choose whichever you need based on requirement.

Reply to this…

Load more responses
Jennifer Lauwitz's photo

Appreciations

120

Joined on

Apr 6, 2017

Welcome to Hashnode
the dev community

The programming forum to discuss topics broader than bugs and issues, write and share knowledge and connect with the best developers.