大家好,我是极客老墨!
在正式开始这套 《Golang 避坑实战教程》之前,老墨要先跟你聊聊一个很多人容易忽略的问题:环境配置。
你可能会想:"不就是装个 Go 嘛,有啥好说的?" 但老墨见过太多同学,拿着 Go 1.11 的版本跑 Go 1.18 的泛型代码,然后在群里问:"为什么我的代码报错?"
所以,磨刀不误砍柴工,咱们先把环境搞对,后面学起来才能一路畅通。
关于本教程
这套 Golang 教程分为三个部分:
- 基础教程(本系列):从零开始学习 Go 语言的核心语法和基础特性
- 高级教程(规划中):工程实践、性能优化、并发模式等进阶内容
- Web 开发(规划中):Gin、GORM 等 Web 框架的实战应用
目前你正在阅读的是基础教程部分,适合 Go 语言初学者或想系统学习 Go 基础的开发者。高级教程和 Web 开发部分老墨会在后续完善后陆续发布,敬请期待!
1. Go 版本选择
1.1 本教程使用的版本
本教程所有代码基于 Go 1.24+ 编写和测试。
由于老墨编写这一套教程时间跨度较大,可能教程中的 Go 版本较旧,但是老墨建议大家都使用最新的 LTS 版本即可,GoLang 官方保证了兼容性,所以理论上最新版本的 Go 都可以跑本教程的代码。
1.2 如何查看你的 Go 版本
go version
如果输出类似这样,就说明安装成功了:
go version go1.24.0 darwin/arm641.3 版本兼容性说明
2. 安装 Go
2.1 macOS 安装
方法一:使用 Homebrew(推荐)
brew install go
# 验证
go version
方法二:官方安装包
- 访问 https://go.dev/dl/[1]
- 下载 macOS 版本的
.pkg文件 - 双击安装
2.2 Linux 安装
# 下载(以 1.24.0 为例,请访问官网获取最新版本)
wget https://go.dev/dl/go1.24.0.linux-amd64.tar.gz
# 解压到 /usr/local
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.0.linux-amd64.tar.gz
# 配置环境变量(添加到 ~/.bashrc 或 ~/.zshrc)
exportPATH=$PATH:/usr/local/go/bin
# 重新加载配置
source ~/.bashrc # 或 source ~/.zshrc
# 验证
go version
2.3 Windows 安装
- 访问 https://go.dev/dl/[2]
- 下载 Windows 版本的
.msi文件 - 双击安装(会自动配置环境变量)
- 打开 CMD 或 PowerShell,运行
go version验证
3. 配置 Go 环境变量
3.1 必须了解的环境变量
# 查看所有 Go 环境变量
go env
重点关注这几个:
GOROOT | ||
GOPATH | ~/go | |
GOMODCACHE | $GOPATH/pkg/mod | |
GOPROXY | https://proxy.golang.org | |
GOPRIVATE |
3.2 配置国内代理(重要!)
如果你在国内,强烈建议配置代理,否则下载依赖会很慢甚至失败。
# 使用七牛云代理(推荐)
go env -w GOPROXY=https://goproxy.cn,direct
# 或者使用阿里云代理
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
验证配置:
go env GOPROXY
3.3 配置私有仓库(可选)
如果你的公司有私有 Git 仓库:
# 设置私有模块前缀(跳过代理)
go env -w GOPRIVATE=github.com/yourcompany/*,gitlab.yourcompany.com/*
4. 选择你的 IDE
4.1 VSCode(推荐新手)
优点:免费、轻量、插件丰富
安装步骤:
- 安装 VSCode[3]
- 安装 Go 插件:在扩展市场搜索 "Go",安装官方插件
- 打开任意
.go文件,VSCode 会提示安装 Go 工具链,点击 "Install All"
推荐配置(settings.json):
{
"go.useLanguageServer":true,
"go.lintTool":"golangci-lint",
"go.formatTool":"goimports",
"editor.formatOnSave":true
}
4.2 GoLand(推荐专业开发者)
优点:功能强大、智能提示一流、调试体验好
缺点:收费(学生和开源项目可免费)
下载地址:https://www.jetbrains.com/go/[4]
4.3 其他选择
- Vim/Neovim:配合 vim-go 插件,极客最爱
- Cursor:AI 辅助编程,适合快速开发
- Zed:新兴编辑器,性能极佳
老墨的建议:新手用 VSCode,老手用 GoLand,极客用 Vim。
5. 验证环境
创建一个测试项目,确保一切正常:
# 创建项目目录
mkdir hello-go
cd hello-go
# 初始化模块
go mod init example.com/hello
# 创建 main.go
cat > main.go << 'EOF'
package main
import "fmt"
func main() {
fmt.Println("Hello, 极客老墨的 Go 教程!")
}
EOF
# 运行
go run main.go
如果看到输出 Hello, 极客老墨的 Go 教程!,恭喜你,环境配置成功!
6. 常见问题
6.1 go: command not found
原因:环境变量没配置好
解决:
# macOS/Linux
exportPATH=$PATH:/usr/local/go/bin
echo'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc # 或 ~/.bashrc
# Windows
# 在"系统属性 > 环境变量"中添加 Go 安装目录到 PATH
6.2 下载依赖超时
原因:没配置国内代理
解决:参考 3.2 节配置 GOPROXY
6.3 VSCode 提示 "gopls was not able to find modules"
原因:项目没有初始化 go.mod
解决:
go mod init your-module-name
7. 本教程的代码仓库
本教程所有示例代码都托管在 GitHub:
仓库地址:https://github.com/hankmor/go-tutorial-code[5]
每篇文章都会标注对应的代码位置,方便你对照学习。
8. 开始学习前的建议
- 不要跳过基础:即使你有其他语言经验,Go 的并发模型、接口设计都很独特
- 动手实践:每个示例都要自己敲一遍,不要只看不练
- 善用 AI:遇到问题先自己思考,然后可以问 ChatGPT/Claude,但要理解答案
- 循序渐进:先把基础教程学扎实,再考虑高级内容和 Web 开发
9. 准备好了吗?
环境配好了,IDE 选好了,代码仓库也 clone 下来了。
现在,让我们正式开始这段 Go 语言基础学习之旅吧!
快速检查清单:
- Go 版本 >= 1.24
- 配置了 GOPROXY
- IDE 安装并配置好
- 能成功运行
go run main.go - Clone 了示例代码仓库
全部完成?那就继续下一篇吧!
我是极客老墨,我们正式开始!
本文相关资源:
- Go 官方下载[6]
- 本教程代码仓库[7]
引用链接
- [1] https://go.dev/dl/: https://go.dev/dl/
- [2] https://go.dev/dl/: https://go.dev/dl/
- [3] VSCode: https://code.visualstudio.com/
- [4] https://www.jetbrains.com/go/: https://www.jetbrains.com/go/
- [5] https://github.com/hankmor/go-tutorial-code: https://github.com/hankmor/go-tutorial-code
- [6] Go 官方下载: https://go.dev/dl/
- [7] 本教程代码仓库: https://github.com/hankmor/go-tutorial-code
夜雨聆风