必须先确认系统架构:linux/macos执行uname -m,x86_64对应amd64,aarch64/arm64对应arm64;windows用powershell查$env:processor_architecture,amd64或arm64需匹配官方包。

确认操作系统架构是否匹配 Go 官方预编译包
Go 官方只提供 amd64 和 arm64 架构的二进制安装包,不支持 32 位系统(如 i386)或老旧 ARMv7。在下载前必须先确认当前系统架构,否则安装后 go version 会报错或直接无法执行。
- Linux/macOS:运行
uname -m,输出x86_64对应amd64,aarch64或arm64对应arm64 - Windows:打开 PowerShell 执行
echo $env:PROCESSOR_ARCHITECTURE,AMD64可用,ARM64需选对应安装包 - 虚拟机用户特别注意:VirtualBox/VMware 默认新建的 Ubuntu/CentOS 虚拟机可能是
amd64,但 Apple Silicon Mac 上跑的 Parallels 或 UTM 若启用了 Rosetta 模拟,实际运行环境仍是arm64,不能混用
PATH 和 GOROOT 必须正确写入 shell 配置文件
Linux/macOS 手动解压安装时,仅把 /usr/local/go/bin 加进 PATH 不够——GOROOT 未显式设置会导致某些工具(如 gopls、dlv)启动失败,报错类似 cannot find GOROOT。
Colly 是一个用于 Go 语言的快速开源爬取和爬虫框架。它适用于从简单的页面提取到异步爬虫处理大量页面集合,支持请求回调和结构化解析。
- 推荐写法(以
~/.zshrc为例):export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin - 修改后必须执行
source ~/.zshrc(或source ~/.bashrc),仅重启终端不一定生效 - 验证方式:运行
go env GOROOT应输出与GOROOT设置一致的路径;which go应指向$GOROOT/bin/go
国内用户必须配置 GOPROXY,否则 go mod download 会卡住
默认 GOPROXY 是 https://proxy.golang.org,国内直连基本超时,go get 或 go mod tidy 会长时间无响应,最终报错 timeout 或 no required module provides package。
- 执行一次即可全局生效:
go env -w GOPROXY=https://goproxy.cn,direct - 若企业内网有私有代理,可替换为内部地址,例如
https://goproxy.internal.company.com - 临时绕过代理(调试用):
GOPROXY=direct go mod download,但不建议长期使用
VS Code 的 Go 扩展依赖 gopls,而 gopls 启动依赖 GOPATH 和 GOROOT
即使你完全不用 GOPATH(现代项目都用 Go Modules),gopls 仍会读取 GOPATH 做缓存目录,默认值是 $HOME/go。如果该路径不可写(比如权限被锁死或磁盘满),VS Code 会反复提示 “Failed to start language server”,且代码补全、跳转全部失效。
- 检查方式:打开 VS Code 的 Output 面板 → 选择 “Go” → 查看是否有
failed to initialize cache类错误 - 解决方法:手动指定可写路径,例如
go env -w GOPATH=$HOME/go-workspace - 额外提醒:VS Code 首次打开
.go文件时弹出的 “Install Tools” 窗口,务必勾选gopls,其他工具(如delve、goimports)按需选,但gopls是核心,不能跳过
source,以及没配 GOPROXY 就急着 go mod init —— 这两个点卡住的人最多。golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










