一 GOPATH

GOPATH环境变量指定了工作空间的位置,用于查找go代码,解析import语句。默认指向家目录下的go目录。如Unix下的$HOME/go,或者Windows下的%USERPROFILE%\go(通常是 C:\Users\YourUserName\go)。该变量可以指定多个目录,在Unix下值以冒号:分隔;在Win下以分号;分隔。Go搜索GOPATH中列出的每一个目录以查找源代码,但新包通常会下载安装到第一个列出的目录。另外,该变量一定不能与Go的安装路径(GOROOT)相同。

命令go env GOPATH会打印出当前有效的GOPATH路径,如果没有设置过该变量,就会打印出默认的路径。

二 GOROOT

GOROOT环境变量即Go的安装路径。命令go env GOROOT会打印出当前的GOROOT路径。

三 GOBIN

GOBIN环境变量是指用户执行go install时,命令安装的目标位置。默认为$GOPATH/bin。如果设置了GOBIN环境变量,则命令将安装到指定的目录。注意,GOBIN必须是绝对路径。

命令go env GOBIN会打印出当前的GOBIN路径,如果输出为空,则是默认位置。

四 GOCACHE

go命令用于存储缓存信息的目录,以便在将来的构建中重用。

命令go env GOCACHE会打印出当前的GOCACHE路径。

五 环境变量列表

更多环境变量,请输入go env查看。

$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/your-username/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/your-username/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
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/q1/zd9p_ml17dq5mhst3cxvg1xw0000gn/T/go-build183380889=/tmp/go-build -gno-record-gcc-switches -fno-common"

参考:go help environment

文章目录