go——gomod配置及使用

  已安装go1.13.15环境

2.module概念

  module是一个相关Go包的集合,它是源代码更替和版本控制的单元。模块由源文件形成的go.mod文件的根目录定义,包含go.mod文件的目录也被称为模块根。moudles取代旧的的基于GOPATH方法来指定在工程中使用哪些源文件或导入包。模块路径是导入包的路径前缀,go.mod文件定义模块路径,并且列出了在项目构建过程中使用的特定版本。

3.module配置

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

Go mod 的三种开启模式

  • GO111MODULE
    • on:支持Go mod模式
    • off:不支持Go mod模式
    • auto (默认模式):如果代码在gopath下,则自动使用gopath模式;如果代码不在gopath下,则自动使用GO mod模式。
  • 开启方式:
    • Windows中,在环境变量中添加变量即可,变量名为 GO111MODULE ,变量值可设置为 on、off、auto。
    • Linux中,只要在 /etc/profile 中添加 export GO111MODULE=on 或 export GO111MODULE=off 或 export GO111MODULE=auto。然后执行 source /etc/profile 刷新即可。

4.go mod使用

go mod xxx
download //下载模块到本地缓存,具体可以通过命令go env查看,其中环境变量GOCACHE就是缓存的地址,如果该文件夹的内容太大,可以通过命令go clean -cache edit //从工具或脚本中编辑go.mod文件 graph //打印模块需求图 init //在当前目录下初始化新的模块 tidy //添加缺失的模块以及移除无用的模块 verify //验证依赖项是否达到预期的目的 why //解释为什么需要包或模块