
大家好,我是Tony Bai。
欢迎来到我们的专栏 《Go 模块构建与依赖管理: 从入门到精通》的第五讲。
在上一讲中,我们彻底精通了 Go Modules 的“三剑客”——get, tidy, list。我们知道了每个命令是“做什么的”,以及“怎么用”。但是,孤立地学习命令,就像是学习了“踩油门”、“打方向盘”、“踩刹车”,却从未真正地把车开上路。
真正的掌握,来自于对完整工作流的理解。
一个 Go 模块,从它被创造出来的那一刻起,就拥有了生命。它会被发布、被修复、被添加新功能,甚至会经历“脱胎换骨”的不兼容升级。这个过程,涉及到两个核心角色:
模块作者 (Author): 模块的创造者和维护者。
模块使用者 (User): 在自己的项目中依赖该模块的开发者。
这两个角色的视角和操作是截然不同的。今天,我们将进行一次“角色扮演”。我将带你亲手走完一个模块从 v1.0.0 诞生,到发布 v1.1.0,再到进行破坏性升级、发布 v2.0.0 的完整生命周期。
我们将先扮演“作者”,体验创造与发布的每一个决策;然后,我们再切换到“使用者”的视角,感受如何平滑地消费和升级这个模块。
学完本讲,你将不再是 Go Modules 的一个“命令执行者”,而是能深刻理解其背后“社会契约”(语义化版本)和工程实践的“生态参与者”。

第一幕:模块作者的创作之旅
让我们扮演模块作者“小 G”,他准备开发并发布一个名为 awesome 的通用库。

被折叠的 条评论
为什么被折叠?



