How to Install Go on CentOS 7

Go, often referred to as golang is a modern open-source programming language created by Google. Many popular applications, including Kubernetes, Docker, Hugo, and Caddy are written in Go.
In this tutorial, we will show you how to download and install Go on a CentOS 7 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 CentOS 7:
Download the tarball.
To download the Go binary use either
wgetorcurl:Terminalwget https://dl.google.com/go/go1.13.linux-amd64.tar.gzVerify the tarball.
Once the download is completed verify the tarball checksum with the
sha256sumcommand: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 downloads page. If you want more detail on generating and verifying hashes, see our guide to sha256sum and md5sum .
Extract the tarball.
Use the
tarcommand to extract the tarball to the/usr/localdirectory:Terminalsudo tar -C /usr/local -xzf go1.13.linux-amd64.tar.gzAdjust the Path Variable.
Now we need to tell our system where to find the Go executable binaries by adjusting the
$PATHenvironment variable.We can do this by appending the following line to the
/etc/profilefile (for a system-wide installation) or to the$HOME/.bash_profilefile (for a current user installation):~/.bash_profileshexport PATH=$PATH:/usr/local/go/binSave the file, and load the new PATH environment variable into the current shell session with the following command:
Terminalsource ~/.bash_profile
Test the Installation
To test whether Go is installed correctly, 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") }You can learn more about Go workspace directory hierarchy here
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:
Run the executable by typing:
Terminal./hellooutputHello, WorldIf you see the output above, then you have successfully installed Go.
Conclusion
Now that you have downloaded and installed Go on your CentOS system, you can start developing 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