目录
文章目录
- 目录
- go 指令
- go run 试运行
- go build 编译
- go install 安装
- go get 下载并安装
- go test 测试
- go env 环境变量
- go fmt 格式化源代码
go 指令
Golang 本身就是一个程序,包含了编译器以及一些辅助指令。
go run 试运行
go run 会快速执行指定的 .go 源码文件,不会生成二进制文件,常用于试运行代码。
go build 编译
go build 用于便于 Golang 程序的源码,生成二进制文件。
go install 安装
当我们编写好 Go 程序之后可以使用 go install 来安装他,会自动生成可执行文件,并放到操作系统的 $GOPATH/bin 目录下。当然了,前提是我们编译的是可执行文件,如果是一个普通的包,会被编译生成到 $GOPATH/pkg 目录下该文件以 .a 结尾。
示例:
$ cd $GOPATH/src/helloworld
$ go install
$ ll $GOPATH/bin
-rwxr-xr-x 1 mickeyfan staff 2.1M 7 11 18:03 helloworld
$ helloworld
Hello World!
go get 下载并安装
go get 会做两件事情:
- 从远程下载需要用到的包。
- 执行 go install 指令。
$ go get golang.org/x/tools/cmd/goimports
$ ll $GOPATH/src
drwxr-xr-x 3 mickeyfan staff 96B 7 11 21:50 golang.org
$ ll $GOPATH/bin
-rwxr-xr-x 1 mickeyfan staff 5.6M 7 11 21:51 goimports
go test 测试
go test 用于执行单元测试或压力测试。
go env 环境变量
go env 显示 Golang 运行环境的环境变量。
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mickeyfan/Library/Caches/go-build"
GOENV="/Users/mickeyfan/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mickeyfan/workspace/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/q4/q1nznqls7pj82ylx424ms0q40000gn/T/go-build255965584=/tmp/go-build -gno-record-gcc-switches -fno-common"
go fmt 格式化源代码
Golang 程序代码的大部分格式问题都可以通过 go fmt 指令来解决。go fmt 会自动格式化代码,保证所有的 Go 代码与官方推荐的格式保持一致,所有格式有关问题,都以 go fmt 的执行结果为准。所以,建议在提交代码库之前先运行一下这个命令。