Go快速起步

go env

通过 go env 可以看到 Go 的全部环境变量:

go env

例如:

go env输出Go的环境变量
GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/home/huatai/.cache/go-build"
GOENV="/home/huatai/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/huatai/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/huatai/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go-1.15"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.15/pkg/tool/linux_arm64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
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 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build885180425=/tmp/go-build -gno-record-gcc-switches"

github

go envGOPATH 变量设置了源代码存目录,这个目录和github对应:

GOPATH="/home/huatai/go"

则执行 go get 命令会把 github 对应代码仓库取下来存放到这个目录的子目录 src

举例 《Go语言程序设计》 的代码仓库是 https://github.com/adonovan/gopl.io/

执行:

go get gopl.io/ch1/helloworld

则会 git clone https://github.com/adonovan/gopl.io//home/huatai/go/src 目录下,然后编译 gopl.io/ch1/helloworld 输出到 /home/huatai/go/bin 目录下生成二进制可执行程序 helloworld

参考