Go Logo Go 开发环境配置

Go 语言安装、工具链、IDE 完整配置指南

Go 安装

版本选择:推荐使用最新稳定版本,Go 每年发布 2 个主要版本
Go Go 官方

Go 官方网站下载

  • Windows 安装包 (.msi)
  • macOS 安装包 (.pkg)
  • Linux 压缩包 (.tar.gz)
官方下载 中国镜像
验证安装:
go version
环境变量配置

Go 环境变量设置

GOPATH(工作区)
# Windows
set GOPATH=D:\Go\workspace

# Linux/Mac
export GOPATH=$HOME/go
GO111MODULE(模块支持)
# Go 1.16+ 默认开启,无需设置
go env -w GO111MODULE=on

# 配置国内代理
go env -w GOPROXY=https://goproxy.cn,direct

Go Modules 配置

配置国内代理

使用国内代理可以大幅提升模块下载速度

1. 配置 GOPROXY
# Windows (PowerShell)
go env -w GOPROXY=https://goproxy.cn,direct

# Linux/Mac
export GOPROXY=https://goproxy.cn,direct
2. 常用代理地址
代理地址
七牛云https://goproxy.cn
阿里云https://mirrors.aliyun.com/goproxy/
腾讯云https://mirrors.cloud.tencent.com/go/
官方代理https://proxy.golang.org
3. 查看当前配置
go env GOPROXY
go env -w GOPROXY=https://goproxy.cn,direct

开发工具

VS Code VS Code(强烈推荐)
最流行 免费

配合 Go 插件使用

必备插件:
  • Go (Go Team at Google) - 官方插件
  • Go Test Explorer - 测试管理
  • Go Outlines - 代码大纲
官方下载
插件自动安装工具:
# 打开命令面板 Ctrl+Shift+P
# 输入:Go: Install/Update Tools
# 选择全部安装
GoLand GoLand(专业选择)
功能最强 付费

JetBrains 出品的专业 Go IDE

特点:
  • 开箱即用
  • 强大的重构
  • 数据库工具
  • Docker 集成
学生可申请免费教育许可证
Vim/Neovim

终端编辑器,配合 vim-go 插件

  • 轻量快速
  • 高度可定制
  • 终端友好
# 使用 vim-plug 安装
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
LiteIDE LiteIDE

国产轻量级 Go IDE

  • 专为 Go 设计
  • 跨平台
  • 免费开源
GitHub

Go 常用命令

基础命令
# 创建模块
go mod init 项目名

# 下载依赖
go get 包名
go mod tidy

# 编译
go build main.go
go build -o app.exe

# 运行
go run main.go

# 安装到 GOPATH
go install

# 格式化代码
go fmt ./...

# 运行测试
go test -v
go test -cover

# 查看版本
go version
go env
高级命令
# 交叉编译
GOOS=linux GOARCH=amd64 go build
GOOS=windows GOARCH=amd64 go build

# 编译优化
go build -ldflags="-s -w"

# 生成文档
go doc 包名
go doc 函数名

# 代码分析
go vet ./...
go test -race

# 依赖图
go mod graph
go list -m all

常用 Go 库

Web 框架
  • • gin - 高性能 HTTP 框架
  • • echo - 轻量 Web 框架
  • • beego - 全功能框架
  • • fiber - Express 风格
数据库
  • • gorm - ORM 库
  • • sqlx - SQL 扩展
  • • go-redis - Redis 客户端
  • • mongo-driver - MongoDB
工具库
  • • viper - 配置管理
  • • zap - 日志库
  • • cobra - CLI 框架
  • • testify - 测试库
并发
  • • errgroup - 错误处理
  • • workerpool - 工作池
  • • go-flags - 标志解析
中间件
  • • jwt-go - JWT 认证
  • • cors - CORS 处理
  • • rate - 限流
数据处理
  • • json-iterator - JSON 解析
  • • goquery - HTML 解析
  • • excelize - Excel 处理

常见问题

配置国内代理可以大幅提升速度:

# 配置七牛云代理
go env -w GOPROXY=https://goproxy.cn,direct

# 或配置阿里云代理
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# 查看配置
go env GOPROXY

对比项GOPATHGo Modules
依赖管理 全局依赖 项目级依赖
版本控制 不支持 支持语义化版本
推荐度 不推荐(旧) 强烈推荐

建议:Go 1.11+ 使用 Go Modules,无需设置 GOPATH

Go 支持一键交叉编译,无需额外工具:

# Windows 下编译 Linux 版本
set GOOS=linux
set GOARCH=amd64
go build -o app_linux

# Mac/Linux 下编译 Windows 版本
GOOS=windows GOARCH=amd64 go build -o app.exe

# 常用目标平台
# GOOS: linux, windows, darwin, freebsd
# GOARCH: amd64, 386, arm, arm64

环境验证

# 验证 Go 安装
go version

# 查看环境配置
go env

# 创建测试项目
mkdir test-go && cd test-go
go mod init test-go

# 创建 main.go 并运行
echo 'package main
import "fmt"
func main() { fmt.Println("Hello Go!") }' > main.go
go run main.go