go mod init用于初始化Go模块并生成go.mod文件,该文件记录模块名、Go版本及依赖信息。进入项目目录后执行“go mod init 模块名”,如go mod init example.com/myproject,会创建包含module和go版本的go.mod文件。模块名建议使用唯一导入路径,推荐域名反写形式。初始化后引入第三方包时,运行go build或go run将自动下载依赖并更新go.mod和go.sum文件。需注意避免在已有go.mod的目录重复执行,并确保GO111MODULE=on或使用Go 1.13+。

在 Go 语言中,go mod init 是用来初始化一个新的模块并创建 go.mod 文件的命令。从 Go 1.11 开始引入了 Go Modules 作为官方依赖管理工具,取代了传统的 GOPATH 模式。
什么是 go.mod 文件
执行 go mod init 后会生成一个 go.mod 文件,它记录了模块的名称、Go 版本以及项目所依赖的外部包及其版本信息。这个文件是模块工作的核心,类似于 package.json(Node.js)或 Cargo.toml(Rust)。
如何使用 go mod init 初始化模块
进入你的项目目录,在终端中运行以下命令:
go mod init 模块名其中“模块名”通常是项目的导入路径,比如:
立即学习“go语言免费学习笔记(深入)”;
go mod init example.com/myproject执行成功后,你会看到生成的 go.mod 文件内容类似:
module example.com/myprojectgo 1.20
如果你只是本地开发且不打算被外部引用,模块名也可以简单写成项目文件夹名,例如:
go mod init myapp常见问题与注意事项
确保当前目录为空或不含旧的模块文件(如已有 go.mod,会提示已存在)。
模块名建议使用唯一导入路径,尤其是开源项目,推荐使用域名反写方式(如 github.com/username/projectname)。
如果在 GOPATH 中运行 go mod init,旧版本 Go 可能默认禁用模块功能。请确认环境变量 GO111MODULE=on,或升级到 Go 1.13+,该选项已默认开启。
初始化完成后,当你引入第三方包时(如 import "rsc.io/sampler"),运行 go build 或 go run 会自动下载依赖并更新 go.mod 和 go.sum 文件。
基本上就这些,不复杂但容易忽略细节。只要记住:进目录,执行 go mod init + 模块名,后续依赖会自动管理。










