美文网首页
当我们说 Go 的环境变量的时候意味着什么

当我们说 Go 的环境变量的时候意味着什么

作者: 码农甲 | 来源:发表于2018-12-12 18:07 被阅读67次

    一. 理解 Go 的环境变量

    当我们安装好 go 之后我们输入  go env,就可以查看go的环境变量,大部分都是默认

    caoshuaideMacBook-Pro3:~ caoshuai$ go env

    GOARCH="amd64"

    GOBIN="/Users/caoshuai/go/bin"

    GOCACHE="/Users/caoshuai/Library/Caches/go-build"

    GOEXE=""

    GOFLAGS=""

    GOHOSTARCH="amd64"

    GOHOSTOS="darwin"

    GOOS="darwin"

    GOPATH="/Users/caoshuai/go"

    GOPROXY=""

    GORACE=""

    GOROOT="/usr/local/Cellar/go/1.11/libexec"

    GOTMPDIR=""

    GOTOOLDIR="/usr/local/Cellar/go/1.11/libexec/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/6r/q12gwn794jv9dn3x8kywcp1c0000gn/T/go-build786818582=/tmp/go-build -gno-record-gcc-switches -fno-common"

    1. GOROOT

    该环境变量的值为 Go 语言的当前安装目录。

    2. GOPATH

    该环境变量的值为 Go 语言的工作区的集合(意味着可以有很多个)。工作区类似于工作目录。每个不同的目录之间用:分隔。

    工作区是放置 Go 源码文件的目录。一般情况下,Go 源码文件都需要存放到工作区中。

    工作区一般会包含3个子文件夹,自己手动新建以下三个目录:src 目录,pkg 目录,bin 目录。

    bin 目录里面存放的都是通过 go install 命令安装后,由 Go 命令源码文件生成的可执行文件( 在 Mac 平台下是 Unix executable 文件,在 Windows 平台下是 exe 文件)。

    注意:有两种情况下,bin 目录会变得没有意义。

    当设置了有效的 GOBIN 环境变量以后,bin 目录就变得没有意义。

    如果 GOPATH 里面包含多个工作区路径的时候,必须设置 GOBIN 环境变量,否则就无法安装 Go 程序的可执行文件。

    pkg 目录是用来存放通过 go install 命令安装后的代码包的归档文件(.a 文件)。归档文件的名字就是代码包的名字。所有归档文件都会被存放到该目录下的平台相关目录中,即在 $GOPATH/pkg/$GOOS_$GOARCH 中,同样以代码包为组织形式。

    这里有两个隐藏的环境变量,GOOS 和 GOARCH。这两个环境变量是不用我们设置的,系统就默认的。GOOS 是 Go 所在的操作系统类型,GOARCH 是 Go 所在的计算架构。平台相关目录是以

    $GOOS_$GOARCH 命名的,Mac 平台上这个目录名就是 darwin_amd64。

    src 目录是以代码包的形式组织并保存 Go 源码文件的。每个代码包都和 src 目录下的文件夹一一对应。每个子目录都是一个代码包。

    pkg 目录是用来存放通过 go install 命令安装后的代码包的归档文件(.a 文件)。归档文件的名字就是代码包的名字。所有归档文件都会被存放到该目录下的平台相关目录中,即在 $GOPATH/pkg/$GOOS_$GOARCH 中,同样以代码包为组织形式。

    这里有两个隐藏的环境变量,GOOS 和 GOARCH。这两个环境变量是不用我们设置的,系统就默认的。GOOS 是 Go 所在的操作系统类型,GOARCH 是 Go 所在的计算架构。平台相关目录是以

    $GOOS_$GOARCH 命名的,Mac 平台上这个目录名就是 darwin_amd64。

    3.GOBIN

    该环境变量的值为 Go 程序的可执行文件的目录。

    4.PATH

    为了方便使用 Go 语言命令和 Go 程序的可执行文件,需要添加其值。追加的操作还是用:分隔。

    export PATH=$PATH:$GOBIN

    相关文章

      网友评论

          本文标题:当我们说 Go 的环境变量的时候意味着什么

          本文链接:https://www.haomeiwen.com/subject/pafphqtx.html