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 startLink to this anchor
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 GoLink to this anchor
-
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 ApplicationLink to this anchor
- 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 applicationLink to this anchor
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.