go module go.mod

本文详细介绍了Go模块go.mod的使用,包括版本号规范、伪版本、indirect标志的含义及处理间接依赖的方法,replace和exclude指令的应用,以及包缓存的存储位置和注意事项。通过对这些概念的理解,有助于更好地管理和维护Go项目。
摘要由CSDN通过智能技术生成

这一次,彻底掌握go mod

1. 版本号规范

go mod 对版本号的定义是有一定要求的,它要求的格式为 v<major>.<minor>.<patch>,如果 major 版本号大于 1 时,其版本号还需要体现在 Module 名字中。比如 我的项目 github.com/pibigstar/go-demo,如果我的版本号增长到 v2.x.x 时,我的 Module 名字也需要相应的改变为: github.com/pibigstar/go-demo/v2, 有人可能就要问了,我不改可以吗? 可以的!但是 go mod 会在你依赖的后面打一个 +incompatible 标志

2. 伪版本

我们将项目上传到 github 后,如果不打 tag,或 tag 不符合 v<major>.<minor>.<patch> 这个格式,那么当我们用 go mod 去拉这个项目的时候,就会将 commitId 作为版本号,它的格式大概是 vx.y.z-yyyymmddhhmmss-abcdef格式

虽然不太好看,但是这个玩意其实挺有用的,省的你每次都需要打 tag 了,这里介绍一个直接拉取小技巧

require (

github.com/pibigstar/go-demo master

)

我们直接在后面写 master 分支,这样它就会拉取 master 分支最后一次提交的 commitId 作为版本号

3. indirect 标志

我们用 go mod 的时候应该经常会看到 有的依赖后面会打了一个 // indirect 的标识位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值