Installing Go on Ubuntu
Go is an open-source programming language, initially developed by a team at Google and becoming increasingly popular for many applications. The project is backed by many contributors from the open-source community.
This tutorial will guide you through the download and installation of the Go programming language on a Ubuntu Bionic Beaver server. At the end of this guide, you will create your first Go application.
Before you start
To complete the actions presented below, you must have:
- A Scaleway account logged into the console
- Owner status or IAM permissions allowing you to perform actions in the intended Organization
- An SSH key
- An Instance running on Ubuntu Bionic Beaver (18.04)
sudo
privileges or access to the root user
Installing Go
-
Connect to your Instance using SSH.
ssh root@your_server_ip
-
Update your APT package cache and upgrade the software already installed on the Instance to the latest release.
apt update && apt upgrade -y
-
Install the Go programming language from the apt repository:
apt install golang -y
-
Make sure Go is installed by running the following command:
go version
You should see an output like the following:
root@gopher:~# go version go version go1.22.2 linux/arm64
-
Set the
GOPATH
for your environment:echo "GOPATH=$HOME/golang" >> ~/.bashrc echo "export GOPATH" >> ~/.bashrc echo "PATH=\$PATH:\$GOPATH/bin # Add GOPATH/bin to PATH for scripting" >> ~/.bashrc source ~/.bashrc
Creating a Hello World Go Application
- Start by creating a workspace, where you will store the files of your project.
mkdir -p $HOME/golang/src/hello-world
- Open a text editor and create a file
hello-world.go
in the working directory. Then copy and paste the following content into it:package main import "fmt" func main() { fmt.Printf("Hello world! This is my first Go program.\n") }
- Run the code directly in Go with the command
go run
:go run hello-world.go
- Compile the application if you want to have a program directly available as a binary to distribute it.
go install hello-world
- Once the application is compiled, you can launch it by typing
hello-world
in your terminal.bill@golang:~# hello-world Hello world! This is my first Go program.
- Use
which
to discover the location of the binary. It will return the file path:bill@golang:~# which hello-world /home/bill/golang/bin/hello-world
Creating a Go web application
Go provides the net/http
package, which makes it very easy to create web applications:
Create a new workspace and add the following content to the main.go.
go
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", WorldServer)
http.ListenAndServe(":8080", nil)
}
func WorldServer(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, %s!", r.URL.Path[1:])
}
You now have a working Go development environment. If you want to learn more about writing code in Go, you can follow the interactive tutorial.
Visit our Help Center and find the answers to your most frequent questions.
Visit Help Center