Go环境搭建需三步:验证go version确保PATH生效;执行go env -w GO111MODULE=on和go mod init启用模块模式;在模块根目录创建含package main的main.go并go run main.go运行。

Go 环境搭建本身不难,但新手常卡在环境变量没生效、go mod 没启用、或误用旧式 GOPATH 工作区模式——这些都会导致 go run 失败、依赖拉不到、甚至编辑器报“package not found”。直接按下面三步走,跳过所有历史包袱。
验证 go 是否已安装且 PATH 正确
这是最常被跳过的一步。很多人双击安装完就以为好了,但 Windows 的 .msi 或 macOS 的 .pkg 有时不会自动刷新当前终端的环境变量。
- 打开**全新**的终端(不是之前就开着的窗口),执行:
go version - 如果报错
command not found或'go' is not recognized,说明PATH没生效:Windows 检查系统环境变量里是否有C:\Go\bin;macOS/Linux 检查~/.zshrc或~/.bashrc是否含export PATH=$PATH:/usr/local/go/bin,然后运行source ~/.zshrc - 成功输出应类似:
go version go1.22.0 linux/amd64(版本号以官网最新稳定版为准,当前是 1.22)
必须启用 Go Modules 并初始化模块
Go 1.11 之后默认推荐模块模式,但新装环境默认可能仍 fallback 到 GOPATH 模式,导致 go get 报错或依赖无法解析。
在 Golang 中使用 samber/hot 进行内存缓存,支持 LRU、LFU、TinyLFU、W‑TinyLFU、S3FIFO、ARC、TwoQueue、SIEVE、FIFO 等淘汰算法,提供 TTL、缓存加载器及分片功能。
- 执行:
go env -w GO111MODULE=on(永久启用模块) - 执行:
go env -w GOPROXY=https://goproxy.cn,direct(国内加速,避免超时) - 新建项目目录后,立刻运行:
go mod init example.com/hello(模块名不用真实域名,能唯一标识即可) - 此时会生成
go.mod文件——没有它,go run仍可能走 GOPATH 老逻辑,尤其当你项目不在$GOPATH/src下时
写并运行第一个程序:别放错位置,也别漏 package main
新手常把 main.go 放在 src/ 子目录里,或忘记 package main,或误加分号,结果 go run 直接静默失败或报 no Go files in current directory。
立即学习“go语言免费学习笔记(深入)”;
- 确保文件就在项目根目录下(和
go.mod同级),文件名必须是main.go - 内容严格如下(注意:无分号、大小写敏感、
package main必须首行):package main import "fmt" func main() { fmt.Println("Hello, Go!") } - 运行:
go run main.go(不是go run .,初学阶段先明确指定文件) - 如果提示
cannot find package "fmt",说明GOROOT异常——重装 Go 或检查是否手动改过GOROOT(通常不需要动)
真正容易被忽略的是:模块初始化必须发生在 go run 之前,且 main.go 必须在模块根目录。很多教程让你先建 src 再放代码,那是 Go 1.10 之前的习惯,现在一这么做,八成跑不起来。

















