应直接安装最新稳定版Go,启用Go Modules(GO111MODULE=on)并配置国内代理(GOPROXY=https://goproxy.cn,direct),验证时需确保PATH包含GOROOT/bin、终端已重启、工作区为含go.mod的根目录。

直接装最新稳定版、跳过 GOPATH 时代,Go Modules 默认开启即可跑起来。
go version 和 go env 验证失败?先看这三件事
常见错误现象:go: command not found 或 go env 输出空值、GOROOT 显示为空。
- Windows 用户装完 .msi 后没重启终端——关掉所有 PowerShell/CMD 再重开
- Linux/macOS 解压后没把
/usr/local/go/bin(或你解压路径下的bin)加进PATH,检查echo $PATH是否含该路径 - macOS 上用 Homebrew 装的 Go,
GOROOT通常在/opt/homebrew/Cellar/go/xxx/libexec,不是/usr/local/go;用which go反推更准
go mod init 之后 import 失败?代理和模块模式是关键
现象:执行 go run main.go 报错 cannot find module providing package xxx,尤其引入 github.com/gin-gonic/gin 等第三方库时。
- 确认
GO111MODULE是on(不是auto):运行go env -w GO111MODULE=on - 国内用户必设代理,否则
go get卡住或超时:运行go env -w GOPROXY=https://goproxy.cn,direct - 不要手动创建
src/pkg/bin目录——Go Modules 下这些目录不再由GOPATH管理,go mod init myapp后依赖自动下载到go/pkg/mod
常用库怎么引入?别写死版本,用 go get + go mod tidy
场景:想用 gin、gorm、zap 这类主流库,但不确定命令格式或是否要加 @latest。
立即学习“go语言免费学习笔记(深入)”;
- 引入最新稳定版:直接
go get github.com/gin-gonic/gin(不加@latest更稳妥,go get默认拉 latest) - 指定版本:如需 v1.9.1,写
go get github.com/gin-gonic/gin@v1.9.1 - 清理未使用依赖:改完
import后运行go mod tidy,它会自动增删go.mod和go.sum - 注意:
go get不再安装到$GOPATH/bin(除非是可执行工具),普通库只更新模块记录
VS Code 装了 Go 扩展却提示“no packages”?重点查这两项
现象:代码里写了 import "fmt",但编辑器报红、Ctrl+Click 进不去源码、go fmt 不生效。
- 确认工作区打开的是模块根目录(含
go.mod文件的文件夹),不是某个子文件夹 - 检查 VS Code 设置里是否启用了语言服务器:
"go.useLanguageServer": true(新版扩展默认开,旧版可能需手动开) - 首次打开项目时,右下角会弹出 “Install All Tools”,点它——否则
gopls、goimports等底层工具没装,智能提示就断了
真正卡住的点往往不是语法或命令本身,而是环境变量没生效、代理没设、或者 VS Code 没识别到模块根目录。每步做完,都用 go env 和 go list -m all 看一眼当前状态,比猜快得多。


















