So you want to learn Go?

So you want to learn Go?

In this article, I'll explain the great steps I took when I wanted to start learning the GO programming language. Out of all the various materials, resources and information on the internet, I tried to find a way to get the best out of them and ignore the "noisy" ones in order to gain quality knowledge.

What is Go?

According to Go is an open-source(os) programming language that makes it easy to build simple, reliable, and efficient software.

Why should Go be considered to build your web applications?

I and a group of engineers were planning to build a project and we wanted a programming language that would support high scalability of the web application, continuous reliability, speed and should be strongly typed. After weeks of deliberations, we decided to settle with Go because of this key reason:

We believed that we will likely not have scalability issues in the future, because of our choice of programming language at development. We believed that it would be able to handle a lot of work, load and growth because it is simple to use, has good/rich tools & libraries and the compile with execution time is swift!

I do not know or have used the language before so I got to researching and learning and I could gather a great amount of knowledge through the following resources:

  1. This website is by far my favourite in all list of resources. You know that moment when you quickly need to check up the correct syntax and examples of something in GO. This website can help with that. It does not provide really deep explanations but just gives great examples with syntaxes. I used/use this website to have a quick idea of some concepts in GO.

  2. Go: The Complete Developer's Guide (Golang) - This is a course I bought on Udemy when I needed to further understand GO in depth. The instructor is awesome and very clear as he dived deep into various core concepts of the language. Going through this course can aid your GO mastery.

  3. StackOverflow: If you are coming from a language like JavaScript that is not strongly typed, some concepts and flow of GO might look a bit confusing. Stackoverflow was extremely useful in aiding my understanding because I found myself searching for questions that have already been asked for, which validated me into thinking that I am on the right track(at least for people to be asking these same kinds of questions - they have possibly encountered the kind of problems I am experiencing). Through those errors, bugs, not-working situations and solutions, I could deeply learn more about GO and its methods.

  4. Essential Go - This book is also very useful. In my opinion, it provides the highest depth of GO as it explores all concepts in great detail. I used this book alongside gobyexample and it could easily solidify some concepts I have tried to understand better.

So there you have it! Those resources were practically what I really made use of, apart from general medium blog posts and the likes. Through these steps, I could also easily pick up a GO framework called "Gin Gonic -" to support the build process of the web application.

Thank you!