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 | 查看为什么依赖某个包 |
版本建议
go.mod和go.sum都应该提交到仓库。- 升级依赖前先看变更日志,避免破坏兼容性。
- 内部模块路径要稳定,否则引用方会频繁调整。
- CI 中使用固定 Go 版本,减少本地和构建环境差异。
