必须设go111module=on且配置goproxy国内镜像,否则go mod init失败、依赖无法拉取;goroot需被正确识别,path须生效,vs code等ide需禁用gopath模式并安装匹配版本dlv。

go 环境装不对,后续所有 go run、go build、go mod 都会卡在第一步——不是报错就是找不到命令,或者依赖拉不下来。2026 年起,Go 已默认启用 Go Modules,旧式 GOPATH 工作流不仅过时,还会干扰新项目初始化。
验证 go 是否真正可用,而不是“看起来装好了”
很多新人执行 go version 成功就以为万事大吉,但实际运行 go mod init example.com/hello 会失败,原因通常是:PATH 没生效、终端没重开、或安装路径被覆盖。
- 打开全新终端(不是当前已打开的标签页),再跑
go version和go env GOROOT——如果后者报错或输出空,说明GOROOT没被识别 -
which go(macOS/Linux)或where go(Windows)必须返回非空路径,且该路径下存在bin/go - Windows 用户尤其注意:.msi 安装器虽自动写入
PATH,但若你用的是 Windows Terminal 或 VS Code 终端,需手动重启整个应用,否则环境变量不加载
go mod init 失败?大概率是当前目录不在 GOPATH 且没关掉 GOPATH 模式
IntelliJ IDEA 或旧版 VS Code 插件默认开启 “Use GOPATH” 选项,它会强行把项目塞进 $GOPATH/src,导致 go mod init 被忽略或报 cannot find module root。
- VS Code:打开设置 → 搜索
go.useLanguageServer,确保为true;再搜go.gopath,留空或设为""(不是删除字段) - IntelliJ IDEA:File → Settings → Languages & Frameworks → Go → 取消勾选
Enable GOPATH mode - 命令行验证:进入任意空目录,执行
go mod init example.com/test,成功生成go.mod文件才算过关
依赖拉不下来(golang.org/x/... 报错)?别急着配代理
2026 年国内主流 Go 工具链已内置镜像 fallback 机制,go get 或 go mod download 失败,90% 是因为用了过时的 GO111MODULE=off 或手动设置了错误的 GO_PROXY。
- 先执行
go env -w GO111MODULE=on(强制启用模块模式) - 检查当前代理设置:
go env GO_PROXY应为https://proxy.golang.org,direct或国内镜像如https://goproxy.cn,direct;若输出off或为空,运行go env -w GO_PROXY=https://goproxy.cn,direct - 避免手动
git clone到$GOPATH/src——这在 Modules 模式下完全无效,go mod不会读取该路径
VS Code 跑不起来调试?重点看 dlv 和工作区配置
dlv(Delve)是 Go 官方推荐调试器,但它不是随 go 一起装的,且不同 Go 版本对 dlv 版本有硬性要求。
- 执行
go install github.com/go-delve/delve/cmd/dlv@latest安装最新稳定版(注意:不是go get) - 安装后运行
dlv version,确认输出中Build infos的 Go version 与你本地go version一致 - VS Code 中按
Ctrl+Shift+P→ “Go: Install/Update Tools”,勾选dlv后全选安装(它会自动适配当前 Go 版本) - 调试前确保
.vscode/launch.json中的mode为auto或exec,且program指向main.go所在目录,不是单个文件路径
go mod init 直接写代码的行为,都会在引入第三方库、升级依赖、CI 构建时暴露问题——不是现在报错,就是下周上线前崩溃。golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











