Installing Go
In this page:
Downloading the Go Toolchain
Go ships as a single installer per platform containing the compiler, standard library, and tools like 'go build' and 'go fmt'. On macOS and Windows you run a graphical installer; on Linux you typically extract a tarball to /usr/local/go or use your distribution's package manager.
Because this is an installation step performed in your own terminal, it isn't something that runs inside this page's live-code box.
Example: Downloading the Go Toolchain
# Linux
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
# Windows
# Download MSI installer from https://go.dev/dl/
# Run the installer — it sets PATH automatically
⚠️ Run this in your own terminal or Node.js environment.
Adding Go to your PATH
The Go binaries live in a bin folder that your shell needs to know about so typing go works from any directory.
On Linux/macOS this usually means exporting the Go install location onto the PATH environment variable; on Windows the installer does this automatically. Without this step, the terminal reports 'go: command not found' even though Go is installed.
Example: Adding Go to your PATH
# Linux/macOS — add to ~/.bashrc or ~/.zshrc
export PATH=$PATH:/usr/local/go/bin
# Windows — PATH is set automatically by the MSI installer
⚠️ Run this in your own terminal or Node.js environment.
Verifying the Installation
Once installed, run 'go version' in a terminal to confirm the toolchain is set up correctly and see which release you have. This is the quickest sanity check before starting any project, and it's the command most bug reports ask for first.
Example: Verifying the Installation
go version
⚠️ Run this in your own terminal or Node.js environment.
What Gets Installed
Installing Go gives you the go command-line tool, which bundles the compiler, the standard library source, formatter (gofmt), and dependency manager -- all in one download, unlike languages that need separate installers for a compiler, package manager, and linter.
This single-tool philosophy is part of what keeps Go project setup simple.
Example: What Gets Installed
// Every Go file belongs to a package; main builds an executable
package main
// Import the fmt package
import "fmt"
// main is where the program starts running
func main() {
// Print the values followed by a newline
fmt.Println("If this compiles and runs, your Go installation works!")
}
Login to try C/C++/Java/PHP code in the editor
- Downloading Go from an unofficial mirror instead of go.dev/dl, risking an outdated or tampered installer.
- Forgetting to add Go's bin directory to the system PATH, so the go command is not found in the terminal.
- Installing multiple conflicting versions of Go side by side without removing the old one first, causing 'go version' to report the wrong version.
- Go is installed from the official installer or package manager at go.dev/dl for Windows, macOS, and Linux.
- After installation, the go command must be available on your system PATH.
- 'go version' confirms the installed compiler version.
- Modern Go (1.16+) no longer requires manually configuring GOPATH for everyday projects.
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: