How to Install Go on Debian 9

Go is a modern open-source programming language created by Google, used to build reliable, simple, fast, and efficient software. Many popular applications, including Kubernetes, Docker, Teraform, and Grafana are written in Go.
In this tutorial, we’ll walk you through the steps necessary to download and install Go on a Debian 9 system.
Prerequisites
Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges .
How to Install Go
At the time of writing this article, the latest stable version of Go is version 1.13. Before downloading the tarball, visit the official Go downloads page and check if there is a new version available.
Follow the steps below to install Go on Debian 9:
Downloading Go.
Download the Go tarball with the following wget command :
Terminalwget https://dl.google.com/go/go1.13.linux-amd64.tar.gzVerifying the Go tarball.
Use the
sha256sumutility to verify the downloaded file checksum:Terminalsha256sum go1.13.linux-amd64.tar.gzoutput68a2297eb099d1a76097905a2ce334e3155004ec08cdea85f24527be3c48e856 go1.13.linux-amd64.tar.gzMake sure the hash printed from the command above matches the one from the Go downloads page . For a broader explanation of checksum generation and verification, see our sha256sum and md5sum guide .
Extracting the Go tarball.
The following command will extract the tarball to the
/usr/localdirectory:Terminalsudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gzAdjust the Path Variable.
Now when the Go tarball is extracted, we need to edit the
$PATHenvironment variable so that our system knows where the Go executable binaries are located. We can do this by appending the following line to the/etc/profilefile (for a system-wide installation) or to the$HOME/.profilefile (for a current user installation):~/.profileshexport PATH=$PATH:/usr/local/go/binSave the file, and apply the new PATH environment variable to the current shell session:
Terminalsource ~/.profile
Test the Installation
To test whether Go is installed correctly on our machine, we will set up a workspace and build a simple “Hello world” program.
Create the workspace directory
By default the workspace directory is set to
$HOME/go, to create it type:Terminalmkdir ~/goCreate a simple “Hello World” Go file.
Inside the workspace create a new directory
src/helloTerminalmkdir -p ~/go/src/helloand in that directory create a file named
hello.go~/go/src/hello/hello.gogopackage main import "fmt" func main() { fmt.Printf("Hello, World\n") }To learn more about Go workspace directory hierarchy, visit the Go Documentation page.
Build the hello.go file:
To build the file switch to the
~/go/src/hellodirectory and rungo build:Terminalcd ~/go/src/hello go buildThe command above will build an executable named
hello.Run the executable:
You can run the executable by simply executing the command below:
Terminal./hellooutputHello, WorldIf you see the same output as the one above, then you have successfully installed Go.
Conclusion
Now that you have downloaded and installed Go on your Debian machine, you can start working on your Go projects.
If you hit a problem or have feedback, leave a comment below.
Linuxize Weekly Newsletter
A quick weekly roundup of new tutorials, news, and tips.
About the authors

Dejan Panovski
Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.
View author page