Go uses a strict Workspace layout. You should follow the guidelines to make sure your application will work.
Installing Go on Ubuntu
- 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.
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 versionYou should see an output like the following:
root@gopher:~# go versiongo version go1.22.2 linux/arm64 -
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
- 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.