最直接的验证方式是运行 go version 查看是否输出版本号;若失败则检查 PATH 配置、GOROOT/GOPATH/GOBIN 环境变量、go run main.go 是否可执行、go mod init 是否能正常初始化模块。

确认系统是否已安装 Go
运行 go version 是最直接的判断方式。如果返回类似 command not found: go 或 bash: go: command not found,说明未安装;若输出 go version go1.21.0 darwin/arm64(或类似),则已装好,跳过安装步骤即可。
注意:某些 macOS 通过 Homebrew 安装过旧版 Go(如 1.18),但 go version 仍可能显示旧版本——这通常是因为 PATH 中有多个 go 二进制,需用 which go 和 ls -l $(which go) 确认实际调用路径。
macOS / Linux 下快速安装最新稳定版 Go
官方推荐方式是下载二进制包解压,不依赖包管理器,避免版本混乱:
- 访问 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd,找到最新
go1.x.x.darwin-arm64.tar.gz(Apple Silicon)或go1.x.x.linux-amd64.tar.gz(Linux x86_64) - 终端执行:
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ~/Downloads/go*.tar.gz - 确保
/usr/local/go/bin在 PATH 中:在~/.zshrc(或~/.bash_profile)末尾加一行export PATH=$PATH:/usr/local/go/bin,然后source ~/.zshrc
Windows 用户请直接下载 MSI 安装包,勾选「Add Go to PATH」——但注意:PowerShell 中需重启终端才能生效,CMD 则可能需手动刷新环境变量。
立即学习“go语言免费学习笔记(深入)”;
写并运行第一个 Go 程序:别漏掉 go mod init
新建目录 hello,进入后立刻执行 go mod init hello。这步不是可选——从 Go 1.11 起,模块模式默认启用,没 go.mod 文件时,go run 可能报错 go: cannot find main module 或静默降级为 GOPATH 模式(行为不可靠)。
创建 main.go:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
运行:go run main.go。不需要 go build 再执行,go run 会自动编译并运行,适合快速验证。
常见失败场景与即时修复
遇到 cannot find package "fmt"?说明 Go 根目录损坏或 GOROOT 被错误覆盖——检查 go env GOROOT 是否指向 /usr/local/go,如果不是,删掉自定义的 GOROOT 环境变量即可。
中文乱码(如显示 Hello, \u4e16\u754c)?这是 fmt.Println 正常行为,Go 字符串原生支持 UTF-8,终端编码没问题就不会乱码;若真出现方块或问号,请确认终端使用 UTF-8 编码(macOS Terminal 默认是,iTerm2 需检查 Profiles → Text → Encoding)。
修改代码后 go run 没反应?Go 不缓存源码,但某些 IDE(如 VS Code)可能卡在旧进程,直接杀掉所有 go 进程:pkill -f "go run" 再试。
真正耗时间的从来不是安装本身,而是确认 PATH、GOROOT 和模块初始化这三处是否干净——多数“5分钟失败”都卡在这儿。


















