Go中导入外部模块需先用go mod init初始化模块生成go.mod,再用go get或go mod tidy下载管理依赖,最后在代码中import并使用;推荐优先使用go mod tidy自动同步声明的依赖。

在 Go 中导入外部模块,核心是使用 import 语句声明依赖,并通过 go get(或更推荐的 go mod tidy)下载并管理对应模块。从 Go 1.11 起,模块(module)已成为标准依赖管理机制,不再依赖 $GOPATH。
确认项目已启用 Go Modules
运行以下命令检查当前目录是否已有 go.mod 文件:
go mod init (如 go mod init example.com/myapp)
若尚未初始化,执行该命令生成 go.mod —— 这是模块的根标识,后续所有依赖都会记录其中。
使用 go get 添加依赖
go get 会自动下载指定版本的模块、更新 go.mod 和 go.sum,并(默认)将包加入构建依赖。
- 添加最新稳定版:
go get github.com/gin-gonic/gin - 指定版本:
go get github.com/spf13/cobra@v1.8.0 - 添加主分支最新提交:
go get github.com/sirupsen/logrus@master - 仅下载不引入代码(如仅用于工具):
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
导入并在代码中使用
在 .go 文件顶部用标准 import 语法引用:
立即学习“go语言免费学习笔记(深入)”;
import ( "fmt" "github.com/gin-gonic/gin")
然后即可调用,例如:r := gin.Default()。Go 工具链会自动识别 go.mod 中声明的模块路径,无需手动配置路径。
推荐:用 go mod tidy 替代频繁 go get
如果你已在代码中写好 import,但尚未下载模块,直接运行:
go mod tidy
它会自动:
- 下载缺失的依赖
- 移除未使用的依赖
- 更新
go.mod和go.sum
相比 go get,go mod tidy 更符合“声明即所需”的开发习惯,也更安全可控。
不复杂但容易忽略:每次添加新 import 后,记得运行 go mod tidy 或至少 go build 触发自动同步,避免 CI 或他人拉取时因依赖缺失而失败。










