Chapter 2. The Go compiler The Go compiler is a build tool and dependency manager for the Go programming language. It offers error checking and optimization of your code. 2.1. Prerequisites Go Toolset is installed. For more information, see Installing Go Toolset . 2.2. Setting up a Go workspace To compile a Go program, you need to set up a Go workspace. Procedure Create a workspace directory as a subdirectory of USDGOPATH/src . A common choice is USDHOME/go . Place your source files into your workspace directory. Set the location of your workspace directory as an environment variable to the USDHOME/.bashrc file by running: Replace < workspace_dir > with the name of your workspace directory. Additional resources The official Go workspaces documentation . 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 A set up Go workspace with configured modules. For information on how to set up a workspace, see Setting up a Go workspace . Procedure In your project directory, run: On Red Hat Enterprise Linux 8: Replace < output_file > with the desired name of your output file and < go_main_package > with the name of your main package. On Red Hat Enterprise Linux 9: Replace < output_file > with the desired name of your output file and < go_main_package > with the name of your main package. 2.4. Running a Go program The Go compiler creates an executable binary file as a result of compiling. Complete the following steps to execute this file and run your program. Prerequisites Your program is compiled. For more information on how to compile your program, see Compiling a Go program . Procedure To run your program, run in the directory containing the executable file: Replace < file_name > with the name of your executable file. 2.5. Installing compiled Go projects You can install already compiled Go projects to use their executable files and libraries in further Go projects. After installation, the executable files and libraries of the project are copied to according directories in the Go workspace. Its dependencies are installed as well. Prerequisites A Go workspace with configured modules. For more information, see Setting up a Go workspace . Procedure To install a Go project, run: On Red Hat Enterprise Linux 8: Replace < go_project > with the name of the Go project you want to install. On Red Hat Enterprise Linux 9: Replace < go_project > with the name of the Go project you want to install. 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 to according directories in the Go workspace. Its dependencies are installed as well. Prerequisites A Go workspace. For more information, see Setting up a Go workspace . Procedure To download and install a Go project, run: On Red Hat Enterprise Linux 8: Replace < third_party_go_project > with the name of the project you want to download. On Red Hat Enterprise Linux 9: Replace < third_party_go_project > with the name of the project you want to download. For information on possible values of third-party projects, run: On Red Hat Enterprise Linux 8: On Red Hat Enterprise Linux 9: 2.7. Additional resources For more information on the Go compiler, see the official Go documentation . To display the help index included in Go Toolset, run: On Red Hat Enterprise Linux 8: On Red Hat Enterprise Linux 9: To display documentation for specific Go packages, run: On Red Hat Enterprise Linux 8: On Red Hat Enterprise Linux 9: See Go packages for an overview of Go packages.

Commands:
echo 'export GOPATH=< workspace_dir >' >> USDHOME/.bashrc source USDHOME/.bashrc
go build < output_file > < go_main_package >
go build < output_file > < go_main_package >
./< file_name >
go install < go_project >
go install < go_project >
go install < third_party_go_project >
go install < third_party_go_project >
go help importpath
go help importpath
go help
go help
go doc < package_name >
go doc < package_name >