Installing Go on Ubuntu
- compute
- Instance
- Go
- Ubuntu-Bionic-Beaver
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.
You may need certain IAM permissions to carry out some actions described on this page. This means:
- you are the Owner of the Scaleway Organization in which the actions will be carried out, or
- you are an IAM user of the Organization, with a policy granting you the necessary permission sets
- You have an account and are logged into the Scaleway console
- You have configured your SSH key
- You have a server running on Ubuntu 18.04 (Bionic Beaver) or later
- You have 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 versionYou should see an output like the following:
root@gopher:~# go versiongo version go1.13.8 linux/amd64 -
Set the
GOPATH
for your environment:echo "GOPATH=$HOME/golang" >> ~/.bashrcecho "export GOPATH" >> ~/.bashrcecho "PATH=\$PATH:\$GOPATH/bin # Add GOPATH/bin to PATH for scripting" >> ~/.bashrcsource ~/.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-worldNote:
Go uses a strict Workspace layout. You should follow the guidelines to make sure your application will work.
- 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 mainimport "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-worldHello 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.
gopackage mainimport ( "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.