Go语言开发环境搭建
官网 https://go.dev/ 或 https://golang.google.cn/

注:对于所有语言,我们不追求最新版本。新版会引进新特性、新功能,这些都可能导致Bug,而且项
目中使用的第三方库未必兼容。因此,使用最新版本有很大风险。如果尝鲜可以试装
安装
安装文档 https://golang.google.cn/doc/install https://go.dev/doc/install
从 https://go.dev/dl/ 或 https://golang.google.cn/dl/ 下载对应操作系统平台指定的版本即可。

Windows安装
官网下载 go1.25.4.windows-amd64.msi ,按照安装向导安装。
bash
C:\Users\xub>go version
go version go1.25.4 windows/amd64
添加环境变量
bash
$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
如果是当前用户使用,就是用户环境变量;如果是系统所有用户使用,就是系统变量,需要管理员权限

观察环境变量PATH、GOPATH,新建GOPROXY。
可以运行命令go env看看Go的环境变量。
Linux安装
下载
bash
wget https://golang.google.cn/dl/go1.25.4.linux-amd64.tar.gz
解压
bash
tar xf go1.25.4.linux-amd64.tar.gz -C /usr/local
添加到环境变量PATH,修改$HOME/.profile或/etc/profile
bash
export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
环境变量
| 环境变量 | 作用说明 | 推荐值(Windows/Linux/macOS通用) | 备注 |
|---|---|---|---|
| GOROOT | Go 语言的安装目录(go可执行文件、标准库所在位置) | 一般不需要手动设置,go命令会自动检测 例如:C:\Go 或 /usr/local/go |
只有多版本共存或非标准安装路径时才需要手动设 |
| GOPATH | 旧版(<1.11)依赖管理模式下使用的路径 现在已不推荐把自己的代码放在这里,但部分老工具仍会读取 | 可以保留,但不要把项目代码放进去 默认:~/go(Windows: %USERPROFILE%\go) |
Go Modules 模式下可以完全忽略 |
| GOMODCACHE | Go Modules 下载的第三方依赖包缓存目录(类似npm的node_modules全局缓存) | 默认在 $GOPATH/pkg/mod 可自定义,例如:~/go-mod-cache |
建议自定义到单独磁盘分区,避免C盘爆掉 |
| GO111MODULE | 是否启用 Go Modules 功能 | on(1.16+ 以后默认就是on,可省略不设置) |
现在基本所有新项目都应开启 |
| GOPROXY | 模块下载代理镜像(强烈推荐设置,否则国内下载极慢或失败) | 推荐以下任意一个(速度快、稳定): https://goproxy.cn,direct(七牛) https://mirrors.aliyun.com/goproxy/,direct(阿里) https://goproxy.io,direct(官方推荐国内镜像) |
必须设置!多个用逗号分隔,最后可加,direct兜底 |
| GONOPROXY | 不走代理直接下载的域名(通常用于公司内部私有模块) | 例如:gitlab.company.com,*.corp.example.com 或留空 |
一般不用设 |
| GOSUMDB | 校验数据库,默认是 sum.golang.org,国内可能被墙 | sum.golang.org(默认) 或关闭校验:off(不推荐) |
配合GOPROXY用,一般保持默认即可 |
| GOPRIVATE | 完全跳过代理和校验的私有仓库(常用git、gitlab、gitee企业仓库) | 例如:gitlab.com/yourcompany,git.mycompany.com* |
推荐配合GONOPROXY/GONOSUMDB一起用 |
| PATH | 必须把 $GOROOT/bin 和 $GOPATH/bin(如果有)加入PATH |
Windows:%GOROOT%\bin Linux/macOS:$GOROOT/bin:$GOPATH/bin |
这样才能全局使用 go 命令和安装的工具(如goimports、dlv等) |
Linux 系统环境变量
bash
# Linux / macOS (~/.bashrc 或 ~/.zshrc)
export GOROOT="/usr/local/go" # 如果系统自动识别可不写
export PATH="$GOROOT/bin:$PATH"
export GOPROXY="https://goproxy.cn,direct" # 七牛,速度最快
# 或者用阿里:export GOPROXY="https://mirrors.aliyun.com/goproxy/,direct"
export GOSUMDB="off" # 可选:国内偶尔会卡,关闭校验(不推荐生产环境)
# export GOPRIVATE="git.example.com,*.corp.example.com" # 私有仓库才设
export GOMODCACHE="$HOME/go-mod-cache" # 建议自定义,防止C盘爆
# export GO111MODULE=on # 1.16+ 已默认,可省略
Windows 系统环境变量
bash
# Windows(系统环境变量 或 PowerShell profile)
$env:GOPROXY = "https://goproxy.cn,direct"
$env:GOMODCACHE = "D:\go-mod-cache" # 建议改到D/E盘等大磁盘
# PATH 里一定要包含 Go 的 bin 目录
开发工具
Goland
收费工具
下载地址 https://www.jetbrains.com/go/download/?section=windows

VSCode

微软推出的跨平台、轻量级、插件化、多语言开发IDE。课堂教学使用VsCode
下载地址 https://code.visualstudio.com/Download
Windows、MAC、Debian、RedHat
Windows User版是当前用户一人使用;System版当前机器所有用户使用
VSCode插件安装
切记,安装插件之前,一定要配置GO国内源的GOPROXY,否则可能报很多错误。
下面是在 2025 年使用 VS Code 开发 Go 语言时,强烈推荐安装的核心 + 实用插件清单(已按重要性排序),直接搜名字安装即可,全都是免费的。
| 优先级 | 插件名称(ID) | 功能说明 | 必须安装? | 备注 |
|---|---|---|---|---|
| 1 | Go golang.go |
官方出品的 Go 扩展(以前叫 Go 插件) 整合了 gopls、dlv 调试、代码片段、测试集成等所有功能 | 必装 | 安装这一个就够了,其他插件基本都依赖它 |
| 2 | gopls | Go 官方语言服务器(LSP) 提供:自动补全、跳转定义、悬停提示、重构、诊断、代码镜头(运行测试/基准)、格式化等 | 现在由官方 Go 插件自动安装和管理 | 以前需要单独装,现在不用了 |
| 3 | Delve Debugger | Go 官方调试器 Delve 的图形化支持 支持断点、变量查看、调用栈、goroutine 查看等 | 必装 | 官方 Go 插件已经内置了,但建议再装这个增强版,体验更好 |
| 4 | Go Test Explorer premier.go-test-explorer |
在侧边栏显示所有测试函数树,支持一键运行/调试单个测试、覆盖率高亮 | 强烈推荐 | 效率神器,比手动敲 go test 爽 100 倍 |
| 5 | CodeLLM / Continue Continue.continue |
免费本地/在线 AI 辅助编程(支持通义灵码、DeepSeek、GPT-4o、Claude 3.5 等) 直接在 VS Code 里问代码、生成单元测试、重构 | 强烈推荐 | 2025 年写 Go 最爽的插件 |
| 6 | Error Lens usernamehw.errorlens |
把 gopls 报错直接内联显示在代码行后面(红字),一眼看到问题 | 强烈推荐 | 提升幸福感 |
| 7 | Todo Tree | 快速查看项目里所有 // TODO:、// FIXME: 注释 | 推荐 | |
| 8 | Better Comments | 美化 // TODO、// !、// ? 等注释颜色 | 推荐 | |
| 9 | Go Outliner 766.go-outliner |
改进的符号大纲(Outline),能显示 struct 的字段、interface 方法顺序更清晰 | 推荐 | 比内置 Outline 好用很多 |
| 10 | Rewrap stkb.rewrap |
自动硬换行注释(敲 // 后 Alt+Shift+F 能对齐到 120 列) | 推荐 | 写长注释神器 |
| 11 | GitLens | 超级强大的 Git 增强(看每一行谁写的、历史等) | 强烈推荐 | 虽然不是 Go 专用,但所有语言都推荐 |
| 12 | Code Runner | 快速运行 main.go(点右上角小三角) | 方便 | 小项目时很好用 |
最简最强组合
-
Go(golang.go) → 官方必装
-
Go Test Explorer → 测试神器
-
Continue(或 CodeLLM) → AI 辅助编程
-
Error Lens → 错误一眼看出
-
GitLens → Git 超级增强
初识GO程序
在VSCode中打开一个目录,其中创建一个main.go。
main函数是整个程序的运行入口,必须是main包。
go
package main
import "fmt"
func main() {
fmt.Println("Hello")
}
命令行中运行
bash
go run main.go
Hello
也可以利用安装的Go插件调试,按F5运行,可能有如下提示
go
go: go.mod file not found in current directory or any parent directory
只需要命令行中初始化模块即可。
go
PS D:\223\hello-word> go mod init rzzz.net/test
go: creating new go.mod: module rzzz.net/test
在按F5就可以调试运行了。
bash
DAP server listening at: 127.0.0.1:2248
Type 'dlv help' for list of commands.
Hello
Process 23952 has exited with status 0
Detaching
Go 常用命令
| 命令 | 主要功能 | 常用参数 / 示例 |
|---|---|---|
go version |
查看 Go 当前版本 | go version → go1.23.4 windows/amd64 |
go env |
查看所有 Go 环境变量 | go env GOROOT / go env GOPATH / go env GOMODCACHE |
go env -w KEY=VALUE |
永久修改环境变量(1.13+) | go env -w GOROOT="C:\Program Files\Go" |
go mod init <模块名> |
初始化当前目录为模块,生成 go.mod 文件 | go mod init rzzz.net/test |
go mod tidy |
清理无用依赖 + 添加缺失依赖(最常用) | go mod tidy |
go get <包> |
下载依赖(会自动更新 go.mod 和 go.sum) | go get github.com/gin-gonic/gin go get -u 强制更新 go get 包@版本 指定版本 |
go install <包>@latest |
下载并编译工具,放到 $GOBIN 或 $GOPATH/bin |
go install golang.org/x/tools/gopls@latest |
go build |
编译包和依赖 | go build → 生成当前模块的可执行文件(名字来自 go.mod module 名) go build -o myapp.exe 指定输出名 go build ./... 编译所有子包 |
go run |
编译 + 立即运行(开发时最常用) | go run main.go go run .(当前模块) go run magedu.com/test |
go fmt / gofmt |
格式化代码(VS Code + gopls 已自动调用) | go fmt ./... |
go vet |
检查代码中常见错误 | go vet ./... |
go test |
运行测试 | go test ./... go test -v 显示详细信息 go test -cover 查看覆盖率 |
go clean -modcache |
清理模块缓存(解决依赖诡异问题时使用) | go clean -modcache |
使用 go help <command> 查看帮助
语言参考 https://golang.google.cn/doc/ 或 https://go.dev/doc/
项目结构
Go官方并没有项目结构布局方案,因此经过实践,大家提出了各种可行方案。现阶段,我们学习的项目
规模较小,可采用下面的方案
-cover查看覆盖率 | |go clean -modcache | 清理模块缓存(解决依赖诡异问题时使用) |go clean -modcache` |
使用 go help <command> 查看帮助
语言参考 https://golang.google.cn/doc/ 或 https://go.dev/doc/
项目结构
Go官方并没有项目结构布局方案,因此经过实践,大家提出了各种可行方案。现阶段,我们学习的项目
规模较小,可采用下面的方案

原始文章:https://www.rzzz.net/go/basic/1/2-development-environment.html