关于go:Go学习一Mac环境下安装配置

1.装置

下载地址(https://golang.org/dl/)

下载之后,双击装置;

2.验证

2.1 查看版本

# 查看版本
➜  ~ go version
go version go1.15.5 darwin/amd64

2.2 查看Go变量

# 查看环境变量
➜  ~ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/hui/Library/Caches/go-build"
GOENV="/Users/hui/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/hui/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/hui/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/8f/vnx2y1h57nzbd2p4vtcl6hv80000gn/T/go-build487191191=/tmp/go-build -gno-record-gcc-switches -fno-common"

2.3 查看环境变量PATH

➜  Go echo $PATH
/usr/local/opt/ncurses/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/Users/hui/.nvm/versions/node/v12.3.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Users/hui/DevEnvSpace/maven-3.6.3/bin
# 能够看出/usr/local/go/bin 曾经存在

3.环境变量介绍

3.1 GOROOT

golang 的装置门路,MAC环境下装置后,默认在(/usr/local/go)

3.2 GOPATH

能够了解为工作目录,该目录下约定有三个子目录,别离为:src、pkg、bin;

  • src: 寄存源代码(比方:.go .c .h .s等) 依照golang默认约定,go run,go install等命令的当前工作门路(即在此门路下执行上述命令)。
  • pkg: 寄存编译时生成的两头文件(比方:.a
  • bin: 寄存编译后生成的可执行文件(为了不便,能够把此目录退出到 $PATH 变量中,如果有多个GOPATH,那么应用${GOPATH//://bin:}/bin增加所有的bin目录)

    3.3 GOBIN

当咱们应用go install命令编译和打包应用程序时,该命令会将编译后二进制程序文件 寄存到GOBIN目录下,个别咱们将GOBIN设置为$GOPATH/bin目录。

4.批改配置

4.1 配置GOPATH、GOBIN

Go装置后默认GOPATH为: $HOME/go(这里是cd /Users/hui/go);

批改.bash_profile,如果装置了iTerm2客户端须要批改.zshrc;

## Go我的项目工作空间
export GOPATH=/Users/hui/Project/Go
## 寄存编译后二进制文件的目录
export GOBIN=$GOPATH/bin

微信搜寻关注【猿码记】查看更多文章

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理