【Go语言基础】Go语言开发环境搭建 - 详解

Go语言开发环境搭建

官网 https://go.dev/https://golang.google.cn/

image-20251118165937457

注:对于所有语言,我们不追求最新版本。新版会引进新特性、新功能,这些都可能导致Bug,而且项

目中使用的第三方库未必兼容。因此,使用最新版本有很大风险。如果尝鲜可以试装

安装

安装文档 https://golang.google.cn/doc/install https://go.dev/doc/install

https://go.dev/dl/https://golang.google.cn/dl/ 下载对应操作系统平台指定的版本即可。

image-20251118160132504

Windows安装

官网下载 go1.25.4.windows-amd64.msi ,按照安装向导安装。

C:\Users\xub>go version
go version go1.25.4 windows/amd64

添加环境变量

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

如果是当前用户使用,就是用户环境变量;如果是系统所有用户使用,就是系统变量,需要管理员权限

image-20251118160445596

观察环境变量PATH、GOPATH,新建GOPROXY。

可以运行命令go env看看Go的环境变量。

Linux安装

下载

wget https://golang.google.cn/dl/go1.25.4.linux-amd64.tar.gz

解压

tar xf go1.25.4.linux-amd64.tar.gz -C /usr/local

添加到环境变量PATH,修改$HOME/.profile/etc/profile

export PATH=$PATH:/usr/local/go/bin
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

环境变量

环境变量作用说明推荐值(Windows/Linux/macOS通用)备注
GOROOTGo 语言的安装目录(go可执行文件、标准库所在位置)一般不需要手动设置,go命令会自动检测 例如:C:\Go/usr/local/go只有多版本共存或非标准安装路径时才需要手动设
GOPATH旧版(<1.11)依赖管理模式下使用的路径 现在已不推荐把自己的代码放在这里,但部分老工具仍会读取可以保留,但不要把项目代码放进去 默认:~/go(Windows: %USERPROFILE%\goGo Modules 模式下可以完全忽略
GOMODCACHEGo 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(如果有)加入PATHWindows:%GOROOT%\bin Linux/macOS:$GOROOT/bin:$GOPATH/bin这样才能全局使用 go 命令和安装的工具(如goimports、dlv等)

Linux 系统环境变量

# 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 系统环境变量

# 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

image-20251118161703964

VSCode

image-20251118161819357

微软推出的跨平台、轻量级、插件化、多语言开发IDE。课堂教学使用VsCode

下载地址 https://code.visualstudio.com/Download

Windows、MAC、Debian、RedHat

Windows User版是当前用户一人使用;System版当前机器所有用户使用

VSCode插件安装

切记,安装插件之前,一定要配置GO国内源的GOPROXY,否则可能报很多错误。

下面是在 2025 年使用 VS Code 开发 Go 语言时,强烈推荐安装的核心 + 实用插件清单(已按重要性排序),直接搜名字安装即可,全都是免费的。

优先级插件名称(ID)功能说明必须安装?备注
1Gogolang.go官方出品的 Go 扩展(以前叫 Go 插件) 整合了 gopls、dlv 调试、代码片段、测试集成等所有功能必装安装这一个就够了,其他插件基本都依赖它
2goplsGo 官方语言服务器(LSP) 提供:自动补全、跳转定义、悬停提示、重构、诊断、代码镜头(运行测试/基准)、格式化等现在由官方 Go 插件自动安装和管理以前需要单独装,现在不用了
3Delve DebuggerGo 官方调试器 Delve 的图形化支持 支持断点、变量查看、调用栈、goroutine 查看等必装官方 Go 插件已经内置了,但建议再装这个增强版,体验更好
4Go Test Explorerpremier.go-test-explorer在侧边栏显示所有测试函数树,支持一键运行/调试单个测试、覆盖率高亮强烈推荐效率神器,比手动敲 go test 爽 100 倍
5CodeLLM / ContinueContinue.continue免费本地/在线 AI 辅助编程(支持通义灵码、DeepSeek、GPT-4o、Claude 3.5 等) 直接在 VS Code 里问代码、生成单元测试、重构强烈推荐2025 年写 Go 最爽的插件
6Error Lensusernamehw.errorlens把 gopls 报错直接内联显示在代码行后面(红字),一眼看到问题强烈推荐提升幸福感
7Todo Tree快速查看项目里所有 // TODO:、// FIXME: 注释推荐
8Better Comments美化 // TODO、// !、// ? 等注释颜色推荐
9Go Outliner766.go-outliner改进的符号大纲(Outline),能显示 struct 的字段、interface 方法顺序更清晰推荐比内置 Outline 好用很多
10Rewrapstkb.rewrap自动硬换行注释(敲 // 后 Alt+Shift+F 能对齐到 120 列)推荐写长注释神器
11GitLens超级强大的 Git 增强(看每一行谁写的、历史等)强烈推荐虽然不是 Go 专用,但所有语言都推荐
12Code Runner快速运行 main.go(点右上角小三角)方便小项目时很好用

最简最强组合

  • Go(golang.go) → 官方必装

  • Go Test Explorer → 测试神器

  • Continue(或 CodeLLM) → AI 辅助编程

  • Error Lens → 错误一眼看出

  • GitLens → Git 超级增强

初识GO程序

在VSCode中打开一个目录,其中创建一个main.go

main函数是整个程序的运行入口,必须是main包。

package main
import "fmt"
func main() {
fmt.Println("Hello")
}

命令行中运行

go run main.go
Hello

也可以利用安装的Go插件调试,按F5运行,可能有如下提示

go: go.mod file not found in current directory or any parent directory

只需要命令行中初始化模块即可。

PS D:\223\hello-word> go mod init rzzz.net/test
go: creating new go.mod: module rzzz.net/test

在按F5就可以调试运行了。

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/gingo get -u 强制更新 go get 包@版本 指定版本
go install <包>@latest下载并编译工具,放到 $GOBIN$GOPATH/bingo 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.gogo 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官方并没有项目结构布局方案,因此经过实践,大家提出了各种可行方案。现阶段,我们学习的项目

规模较小,可采用下面的方案

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

posted @ 2025-12-15 14:09  clnchanpin  阅读(69)  评论(0)    收藏  举报