Go 1.16+默认启用Modules,初学者无需设置GOPATH;只需go version正常即可,用go mod init初始化项目,go run直接运行;Go Playground适合语法验证,本地安装仅需解压、加PATH、验证。

go version 能跑出来,就别碰 GOPATH
Go 1.16 之后默认启用 Go Modules,GOPATH 已成历史包袱。初学者只要确认 go version 输出正常(比如 go version go1.21.5 linux/amd64),就完全不用设置 GOPATH 或修改环境变量。强行配置反而容易和模块机制冲突,导致 go run 报错找不到包。
常见错误现象:cannot find package "xxx" in any of ...,八成是手动设了 GOPATH 还在用老式项目结构(比如把代码放到 $GOPATH/src/... 下)。
- 验证方式:终端直接运行
go version,有输出即合格 - 初始化新项目:进任意空目录,执行
go mod init example.com/myapp,自动生成go.mod - 写完
main.go后,直接go run main.go,不需go install或go build
用 go playground 就够了,本地装 SDK 是可选项
不是所有学习阶段都需要本地环境。Go Playground(play.golang.org)能实时运行、分享、调试绝大多数基础代码,包括 net/http 简单服务、fmt、strings、甚至带 goroutine 和 channel 的并发片段——它背后跑的是真实 Go 编译器,不是模拟器。
适合场景:
立即学习“go语言免费学习笔记(深入)”;
- 刚学语法,想快速验证
slice切片操作或defer执行顺序 - 读文档时遇到示例代码,想立刻改一改看效果
- 面试前临时复习,没时间搭环境
注意:Playground 不支持文件读写、本地网络监听(http.ListenAndServe 会超时)、cgo 或需要外部依赖的代码。
本地安装只做三件事:解压、加 PATH、验证
官网下载二进制包(非 MSI/DMG 安装器)是最干净的方式,避免捆绑工具或后台进程。Linux/macOS 直接解压到 /usr/local,Windows 解压到任意路径(比如 C:\Go)。
关键操作只有一步:把 bin 目录加进系统 PATH。
- macOS/Linux:在
~/.zshrc或~/.bash_profile末尾加export PATH=$PATH:/usr/local/go/bin,然后source一下 - Windows:系统属性 → 高级 → 环境变量 → 编辑用户变量
Path→ 新增一行,填你解压后的路径(如C:\Go\bin) - 验证命令:
go version和go env GOPATH(后者现在只是默认值,不用管)
别装 IDE 插件、别配 LSP、别提前研究 gopls——等你写满 500 行真实代码再考虑。
别被 “hello world” 带偏,第一个真项目从 CLI 开始
HTTP 服务要处理路由、状态码、请求体,对新手太重。而一个命令行工具(CLI)只需 fmt.Println、os.Args 和简单逻辑,却能立刻交付可用东西,比如:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("usage: hello NAME")
os.Exit(1)
}
fmt.Printf("Hello, %s!\n", os.Args[1])
}
保存为 main.go,运行 go run main.go Alice,输出 Hello, Alice! ——这就是完整可运行程序。后续加 flag 解析、子命令、甚至编译成单文件分发,路径清晰、反馈即时。
容易忽略的点:初学者常卡在“不知道下一步该做什么”,而不是“不会写某行代码”。CLI 是最小可行闭环:输入 → 处理 → 输出 → 可分享。比空跑一个 web server 更有获得感。


















