Skip to content

Go Modules

Go Modules 是 Go 官方依赖管理机制,用来管理模块路径、依赖版本和构建结果。新项目建议直接使用 Go Modules,不再使用 GOPATH 模式组织依赖。

基本流程

mermaid
flowchart TD
    A[创建项目目录] --> B[go mod init]
    B --> C[编写代码并导入包]
    C --> D[go mod tidy]
    D --> E[生成或更新 go.mod/go.sum]
    E --> F[go build 或 go test]

关键文件

文件作用
go.mod声明模块名、Go 版本、直接依赖
go.sum记录依赖校验值,保证依赖内容一致

常用命令

命令说明
go mod init moduleName初始化模块
go mod tidy补齐和清理依赖
go get package@version添加或升级依赖
go list -m all查看所有模块
go mod why package查看为什么依赖某个包

版本建议

  1. go.modgo.sum 都应该提交到仓库。
  2. 升级依赖前先看变更日志,避免破坏兼容性。
  3. 内部模块路径要稳定,否则引用方会频繁调整。
  4. CI 中使用固定 Go 版本,减少本地和构建环境差异。