Chapter 2. The Go compiler


2.1. Prerequisites

2.2. Setting up a Go workspace

Modern Go projects are built using modules. You can start with a single module and then optionally group multiple modules into a workspace to work on them simultaneously.

Procedure

  1. Create a root directory for your projects, for example:

    $ mkdir ~/go-projects/
    Copy to Clipboard Toggle word wrap
  2. Change into the project directory:

    $ cd ~/go-projects/
    Copy to Clipboard Toggle word wrap
  3. Initialize a module:

    1. Create a directory for your module:

      $ mkdir <module_name>
      Copy to Clipboard Toggle word wrap
    2. Change into the module’s directory:

      $ cd <module_name>
      Copy to Clipboard Toggle word wrap
    3. Initialize the module:

      $ go mod init <module_name>
      Copy to Clipboard Toggle word wrap

      This command creates a single-module project.

    If you want to create multiple modules, repeat this step for every module.

  4. If you want to work on multiple modules at the same time, create a multi-module workspace:

    1. Change into the project directory:

      $ cd ~/go-projects/
      Copy to Clipboard Toggle word wrap
    2. Initialize a workspace to include multiple modules:

      $ go work init <module_name_1> <module_name_n> ...
      Copy to Clipboard Toggle word wrap

2.3. Compiling a Go program

You can compile your Go program using the Go compiler. The Go compiler creates an executable binary file as a result of compiling.

Prerequisites

Procedure

  • Compile the Go sources in the current directory:

    $ go build .
    Copy to Clipboard Toggle word wrap

2.4. Running a Go program

The Go compiler creates an executable binary file as a result of compiling. Complete the following steps to run your program.

Procedure

  • Use one of the following options to execute your Go program:

    • To run an compiled program, enter:

      $ ./<file_name>
      Copy to Clipboard Toggle word wrap

      Replace <file_name> with the name of your executable file.

    • To compile the sources in the current directory and run the program in a single step, enter:

      $ go run .
      Copy to Clipboard Toggle word wrap

2.5. Installing compiled Go projects

You can download and install third-party Go projects from online resources to use their executable files and libraries in further Go projects. After installation, the executable files and libraries of the project are copied according to the directories in the Go workspace. Its dependencies are installed as well.

Prerequisites

Procedure

  • Install a Go project:

    $ go install <go_project>
    Copy to Clipboard Toggle word wrap

2.6. Downloading and installing Go projects

You can download and install third-party Go projects from online resources to use their executable files and libraries in further Go projects. After installation, the executable files and libraries of the project are copied according to the directories in the Go workspace. Its dependencies are installed as well.

Prerequisites

Procedure

  1. To download and install a Go project, enter:

    $ go install <third_party_go_project>
    Copy to Clipboard Toggle word wrap
  2. Optional: For information on possible values of third-party projects, enter:

    $ go help importpath
    Copy to Clipboard Toggle word wrap
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat