1、环境变量
GOROOT
go的安装位置
GOPATH
go工作目录,一般子目录为src、bin、pkg三个目录,项目代码一般放在src目录下
GOBIN
GOPATH下的bin目录,常为$GOPATH/bin
可以通过如下命令获取go环境变量:
go
env
//
打印Go所有默认环境变量
go
env
GOPATH
//
打印某个环境变量的值
2、go module
go mod是go1.11版本的新产物,用于解决go modules依赖的问题,使用go module之后我们可不用将代码放置在$GOPATH/src下了。
在使用模块的时候,GOPATH
是无意义的,不过它还是会把下载的依赖储存在 $GOPATH/pkg/mod
中,也会把 go install
的结果放在 $GOPATH/bin
中
GO111MODULE=off
无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。GO111MODULE=on
模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据go.mod
下载依赖。GO111MODULE=auto
在$GOPATH/src
外面且根目录有go.mod
文件时,开启模块支持。
2.1 初始化
为你的项目第一次使用 GO MODULE(项目中还没有go.mod文件)
进入项目目录之后执行:
go mod init test(test为项目名)
执行完成之后,会有个go.mod文件,但是文件时空的,只有项目名和go的版本
2.2 检测依赖
go mod tidy
执行完成的go.mod
同时会在go.mod同级目录生成go.sum,该文件是描述的详细依赖。
2.3 下载依赖
go mod download
2.4 导入依赖
go mod vendor
执行此命令,会将刚才下载至 GOPATH 下的依赖转移至该项目根目录下的 vendor(自动新建) 文件夹下
2.5 依赖更新
当引入新依赖,执行以下命令即可更新:
go mod tidy
go mod download
go mod vendor
2.6 git协作
项目管理中,如使用git,请将 vendor 文件夹放入白名单,不然项目中带上包体积会很大,即将vendor 放到git目录下的 .gitignore 文件中
go.mod 和 go.sum 不要忽略
其他人clone之后,参照2.5操作即可。