Go Modules

Go Modules 是 Go 的依赖与版本管理机制,用来确定模块边界、解析依赖和支持可复现构建。

#type / concept #status / growing #tech / dev #resource / go

[!info] related notes

Go Modules

一句话定义

Go Modules 是 Go 官方的依赖和版本管理机制,用来定义一个项目的模块边界、依赖关系和构建所需版本集合。

核心机制 / 工作原理

最常见的两个文件:

  • go.mod
  • go.sum

其中:

  • go.mod 描述当前模块名和依赖要求
  • go.sum 记录依赖校验信息,帮助构建可复现

Go Modules 解决的核心问题包括:

  • 项目如何声明自己是谁
  • 依赖从哪里来
  • 不同版本如何被解析
  • 团队和 CI 如何拿到一致构建结果

最小例子 / 最小场景

go mod init example.com/hello
go mod tidy

这通常就是一个新项目进入模块化状态的起点。

为什么这部分重要

学 Go 不能只停留在单文件程序。只要进入真实项目,就要理解:

  • 包内组织
  • 模块边界
  • 外部依赖版本

否则你会一直把工程问题误解成“导包为什么报错”的零散现象。

边界与易混淆点

  • 包和模块不是同一层概念
  • go mod tidy 不是“神奇修复命令”,它只是整理依赖图
  • 模块路径通常要和代码分发路径、仓库路径和导入路径一起理解
创建于 2026/6/20 更新于 2026/6/20