此内容没有您所选择的语言版本。
Chapter 2. go
go is a build tool and dependency manager for the Go programming language.
Go Toolset is distributed with go 1.11.5.
2.1. Installing go 复制链接链接已复制到粘贴板!
In Go Toolset on Red Hat Enterprise Linux 7, go is provided by the go-toolset-1.11-golang package and is automatically installed with the go-toolset-1.11 package. On Red Hat Enterprise Linux 8, go is provided by the go-toolset module. See Section 1.4, “Installing Go Toolset”.
2.2. Writing Go 1.11.5 Programs 复制链接链接已复制到粘贴板!
When creating a Go program, developers must follow the rules for Go workspace layout. The .go
source files must be placed in subdirectory of $GOPATH/src
.
Example 2.1. Creating a Go Program
Consider a program named hello
consisting of a single source file named hello.go
:
mkdir -p $GOPATH/src/hello cd $GOPATH/src/hello touch hello.go
$ mkdir -p $GOPATH/src/hello
$ cd $GOPATH/src/hello
$ touch hello.go
Edit the file hello.go
in your favorite text editor to add the following text:
Additional Resources
- Workspaces — Description of the Go language workspace organization. Official documentation for the Go programming language.
2.3. Using the go Compiler 复制链接链接已复制到粘贴板!
To build a Go program using the command line, change to the project directory and run the go
compiler as follows:
For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go build -o output_file go_main_package'
$ scl enable go-toolset-1.11 'go build -o output_file go_main_package'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go build -o output_file go_main_package
$ go build -o output_file go_main_package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
This creates a binary file named output_file in the current working directory. If the -o
option is omitted, the compiler creates a file named after the go_main_package, go_main_package.
If go_main_package is not a main package or if multiple projects or *.go
files are specified, the resulting binaries are discarded. In that case, the go build
command is used to verify that the supplied projects or files can be built.
Note that you can execute any command using the scl
utility on Red Hat Enterprise Linux 7, causing it to be run with the Go Toolset binaries available. This allows you to run a shell session with Go Toolset go
directly available:
scl enable go-toolset-1.11 'bash'
$ scl enable go-toolset-1.11 'bash'
Example 2.2. Compiling a Go Program Using the Command Line
Assuming that you have successfully created the program hello
as shown in Example 2.1, “Creating a Go Program”, compile the program:
For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go build hello.go'
$ scl enable go-toolset-1.11 'go build hello.go'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go build hello.go
$ go build hello.go
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
This creates a new binary file called hello
in the current working directory.
2.4. Running a Go Program 复制链接链接已复制到粘贴板!
When go
compiles a program, it creates an executable binary file. To run this program on the command line, change to the directory with the executable file and run the program:
./file_name
$ ./file_name
Example 2.3. Running a Go Program on the Command Line
Assuming that you have successfully compiled the hello
binary file as shown in Example 2.2, “Compiling a Go Program Using the Command Line”, run it by typing the following at a shell prompt:
./hello
$ ./hello
Hello.
Starting http server.
Go to localhost:8080/welcome
To terminate press CTRL+C.
2.5. Installing Go Projects 复制链接链接已复制到粘贴板!
Installing a Go project means that its executable files and libraries are compiled, and copied to appropriate directories in the Go Workspace. The go tool can then use the executable files and libraries in further projects. Dependencies of the installed project are installed, too.
To install a Go project, run the go tool:
For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go install go_project'
$ scl enable go-toolset-1.11 'go install go_project'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go install go_project
$ go install go_project
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
The install
command accepts the same options as the build
command.
2.6. Downloading Go Projects 复制链接链接已复制到粘贴板!
To download a 3rd party Go project from an online source and install it, run the go tool:
For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go get 3rd_party_go_project'
$ scl enable go-toolset-1.11 'go get 3rd_party_go_project'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go get 3rd_party_go_project
$ go get 3rd_party_go_project
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
For more details about the possible values of 3rd_party_go_project option, run the following command:
For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go help importpath'
$ scl enable go-toolset-1.11 'go help importpath'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go help importpath
$ go help importpath
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. Additional Resources 复制链接链接已复制到粘贴板!
A detailed description of the go compiler and its features is beyond the scope of this book. For more information, see the resources listed below.
Installed Documentation
The Go compiler
help
command provides information on its usage. To show the help index:For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go help'
$ scl enable go-toolset-1.11 'go help'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go help
$ go help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
The Go compiler
doc
command shows documentation for packages. To show documentation for package package_name:For Red Hat Enterprise Linux 7:
scl enable go-toolset-1.11 'go doc package_name'
$ scl enable go-toolset-1.11 'go doc package_name'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To learn more about the
doc
command:scl enable go-toolset-1.11 'go help doc'
$ scl enable go-toolset-1.11 'go help doc'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow For Red Hat Enterprise Linux 8:
go doc package_name
$ go doc package_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To learn more about the
doc
command:go help doc
$ go help doc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Online Documentation
- Command go — Official documentation of the go compiler.
See Also
- Chapter 1, Go Toolset — An overview of Go Toolset and more information on how to install it on your system.