1. 依赖管理

    • 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决?

    1.1.2. go module

    go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。

    要启用go module支持首先要设置环境变量GO111MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。

    • GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。

    • GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。

    使用 go module 管理依赖后会在项目根目录下生成两个文件go.mod和go.sum。

    1.1.4. GOPROXY

    Go1.11之后设置GOPROXY命令为:

    Go1.13之后GOPROXY默认值为 ,在国内是无法访问的,所以十分建议大家设置GOPROXY,这里我推荐使用goproxy.cn。

    常用的go mod命令如下:

    1.1.6. go get

    在项目中执行go get命令可以下载依赖包,并且还可以指定下载的版本。

    • 运行go get -u将会升级到最新的次要版本或者修订版本(x.y.z, z是修订版本号, y是次要版本号)
    • 运行go get -u=patch将会升级到最新的修订版本
    • 运行go get package@version将会升级到指定的版本号version 如果下载所有依赖可以使用go mod download命令。

    2.SET GOPROXY=https://goproxy.cn (这是win环境下的) export GOPROXY= (这是mac环境下的)

    3.go mod init [包名] // 初始化项目(如果你是初始化项目直接 就好了)

    4.在你的目录文件下会生成go.mod和go.sum文件 go.mod 里面包含了你的所有的包!

    5.在文件里面引入包名的时候有的编辑器会报错但是是可以正常编译的

    6.下载包使用go get