Resources for learning Go
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Why you should learn Go
Go continues to be heavily used for APIs, CLIs, Web, DevOps & Data Processing. Underrepresented groups tend to feel less welcome in the community.
Go comes with a powerful standard library, distributed as packages. This library caters to most components, libraries that developers have come to expect from 3rd party packages when it comes to other languages.
Go combines modern day developer workflow of working with Open Source projects and includes that in the way it manages external packages.
Go is a statically typed language and the compiler works hard to ensure that the code is not just able to compile correctly but other type conversions and compatibility are taken care of.
Go has a first-class support for Concurrency in the language itself. If you have programming concurrency in other languages.
Resources for learning Go :-
This is one of the best sources for learning Go. It is a single source for all documentation in the standard library and third party packages.
The Go Tour website
One of the best places to start is the official Go Tour website.This is an interactive tutorial which you can use to learn Go by running your own code snippets on the website itself. The tour is divided into a set of modules each explaining a different concept with a couple of exercises at the end of each module.
An Introduction To Programming In Go
This is an e-book which introduces the programming in the Go language. Here you will learn about how to get started and write your first program. This e-book contains information on types, variables, control structures, arrays, slices, maps, pointers, struct, interfaces, concurrency, core packages, and much more.
This tutorial by Golangbot helps you to understand from the very basics of the Go language. It includes natural traps if you are coming from other languages, missing details, faulty assumptions, among others.
GO BY EXAMPLE
It has a lot of code snippets to solidify the concepts in the other resources for learning Golang. However, it isn't interactive, so I'd recommend taking these examples, and putting them into the Go Playground. Play around with changing the code until you understand the concepts!
Programming with Google Go Specialization
This course is a good comprehensive resource for learning the Go Programming Language. This course introduces the Go programming language from Google and provides learners with an overview of Go's special features. Upon completing the three-course sequence, learners will have gained the knowledge and skills needed to create concise, efficient, and clean applications using Go.
Go: The Complete Developer's Guide (Golang)
This course is designed to get you up and running as fast as possible with Go. We'll quickly cover the basics, then dive into some of the more advanced features of the language.