一句话:Go 入门资料索引 + 环境配置踩坑 + Windows 交叉编译部署 Linux 的实操笔记。
这份笔记记录我初学 Go 时的资料、工具和环境问题,偏「路线图 + 备忘录」。系统学完语法后,可配合练手项目 Gin-Zone 项目介绍 把知识落到 Web API、GORM、Redis 等实战场景。
| 类型 | 资源 |
|---|---|
| 视频 | 8 小时转职 Golang 工程师(配套 语雀文档) |
| 视频 | golang 入门到项目实战 |
| 文档 | Go 入门指南 |
| 文档 | Go Web 编程 |
建议顺序:语法与标准库 → Web / Gin → 数据库与部署,每周写一个小 demo 巩固。
go mod init / go mod tidy)GOPROXYgo env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on
CentOS / RHEL 可用 yum 快速安装(版本可能偏旧,生产建议官网二进制包):
yum -y install golang
go version
在 Windows 本机编译 Linux 可执行文件,再上传到服务器运行,无需在服务器装完整构建链。
CMD:
set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -o main main.go
PowerShell:
$env:CGO_ENABLED=0
$env:GOOS="linux"
$env:GOARCH="amd64"
go build -o main main.go
部署步骤:
main、配置文件、静态资源上传到服务器目录chmod +x main && ./main(或用 systemd / pm2 守护)| 变量 | 含义 |
|---|---|
CGO_ENABLED=0 |
静态链接,减少 Linux 上 libc 兼容问题 |
GOOS=linux |
目标系统 |
GOARCH=amd64 |
64 位 x86 |
set GOOS=linux 在 PowerShell 无效,须用 $env:GOOS="linux"。PATH。CGO_ENABLED=0 会导致编译失败,需在目标平台构建或配置交叉工具链。chmod +x 会报 Permission denied。Go 学习路径:资料跟视频/书 → 本地 GOPROXY → 小项目练手 → Gin-Zone 级全栈项目。部署上记住 Windows 设 GOOS=linux 再 go build,比直接在低配服务器编译省资源。