NavigationContentFooter
Jump toSuggest an edit
Was this page helpful?

Installing Go on Ubuntu

Reviewed on 03 October 2024Published on 14 August 2018
  • 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

  1. Connect to your Instance using SSH.

    ssh root@your_server_ip
  2. Update your APT package cache and upgrade the software already installed on the Instance to the latest release.

    apt update && apt upgrade -y
  3. Install the Go programming language from the apt repository:

    apt install golang -y
  4. 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
  5. 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 ApplicationLink to this anchor

  1. Start by creating a workspace, where you will store the files of your project.
    mkdir -p $HOME/golang/src/hello-world
    Note

    Go uses a strict Workspace layout. You should follow the guidelines to make sure your application will work.

  2. 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")
    }
  3. Run the code directly in Go with the command go run:
    go run hello-world.go
  4. Compile the application if you want to have a program directly available as a binary to distribute it.
    go install hello-world
  5. 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.
  6. 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.

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.

Was this page helpful?
API DocsScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCareers
© 2023-2025 – Scaleway