Go Modules

Go 项目不再依赖 GOPATH,项目目录可以放在任意位置,并且每个项目的依赖包都有自己的版本控制信息,解决了包冲突的问题。

1.初始化

1.1 go.mod

go mod init <modName>

modName可以为空 根据目录自动生成
生成一个 go.mod 文件,它记录了模块名称和依赖包的版本信息
当你在项目中导入新的依赖包时,Go 会自动将依赖信息添加到 go.mod 文件中,并记录依赖的版本。
goland新建一个非gopath项目会直接生成

1.2 go.sum

它记录了依赖包的精确版本和校验和(checksum),用来确保包的内容不被篡改或修改。go.sum 中的校验和可以验证当前拉取的包是否和之前拉取的包一致。

2.管理依赖

2.1 添加依赖

  • 在main.go添加
import "github.com/sirupsen/logrus"
  • 执行
go run main.go
  • 自动下载依赖并自动在go.mod里加入
require github.com/sirupsen/logrus v1.9.3 // indirect

2.2 更新依赖

  • 获取最新依赖
go get github.com/sirupsen/logrus@latest
  • 指定版本
go get github.com/sirupsen/logrus@v1.7.0

2.3 删除不用依赖

go mod tidy

3.vendor

在没有网络的环境下构建项目,生成 vendor 目录,将所有依赖包的源代码下载到项目中的 vendor 文件夹中

go mod vendor
posted @   lwx_R  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示