Go Starter Pack
Where and how to start your Golang journey
Table of contents
You want to start learning Go and not sure where to begin and what you'll need? No worries, "Keep It Simple, Stupid" for the rescue!
The Source
Start from the official Go website - https://go.dev/. You'll be coming back here for:
the documentation - https://go.dev/doc/
the packages information - https://pkg.go.dev/
the style guide - https://go.dev/doc/effective_go
First steps
A step-by-step official Go tutorial can be found also on the Go official website - https://go.dev/doc/tutorial/getting-started
It will guide you from the requirements, through the installation process, to writing first lines of code.
Go for it!
Learning Go
The best so far, free, on-line Go learning tutorial is the Learn Go with Tests - https://quii.gitbook.io/learn-go-with-tests
It navigates you through the Go fundamentals in the Test Driven Development manner. At the end you create a simple application that allows you to test your newly acquired knowledge.
Explore the Go language by writing tests
Get a grounding with TDD. Go is a good language for learning TDD because it is a simple language to learn and testing is built-in
Be confident that you'll be able to start writing robust, well-tested systems in Go
Worth mentioning is also a Go by Example - https://gobyexample.com/ which has a simpler form, is designed to explain you a language concepts in an easy form, not to teach you in a step-by-step formula.
Style Guides
Get to know how to write a good code by studying the official style guides from companies like:
Uber - https://github.com/uber-go/guide/blob/master/style.md
and from the official Go website, effective Go - https://go.dev/doc/effective_go
Style guides will not only show you how to write a code, but also explain why some certain decisions has been made. It's a good source of an additional information about the language itself.
More on style guides, where to start and what are the differences you can find in my previous article - https://blog.skopow.ski/the-go-style-guides.
IDE
The Golang IDE community is split in half:
the professional IDE used by the companies worldwide and loved by the developers: JetBrains GoLand - https://www.jetbrains.com/go/
the free alternative with limited functionalities, but supported by the giant from the Redmond, Washington: Visual Studio Code - https://code.visualstudio.com/
If you can afford the JetBrains IDE you'll definitely love it. If you're just starting the VSC is good enough.
Socials
What would be a language without a community, right? The most active channels are definitely the Gophers Slack channel and the Golang Insiders community on X. Those and more you can find below:
Gophers Slack channel
Golang Insiders on X
Official Go X profile
Official Go GitHub repository
Golang-nuts Google Group
Golang on Reddit
Hope that this short article will help you get started with this beatiful and powerful language. See you on the Gophercon!