golang基础开发环境配置

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操作即可。

 

posted @ 2021-01-18 16:07  Memset  阅读(377)  评论(0编辑  收藏  举报