要开始 Go(Golang)开发,首先需要搭建一个完整的开发环境。下面是 Windows / macOS / Linux 三平台通用的 Go 开发环境搭建指南(详细步骤),包括安装、配置、编辑器推荐、模块管理等内容。
🧱 一、安装 Go
✅ 官方下载地址:
All releases - The Go Programming Language (国内可以使用 清华镜像站)
🪟 Windows 安装步骤:
-
下载
.msi
安装包并运行。 -
安装时默认路径为:
C:\Program Files\Go
(对应GOROOT
) -
安装完成后,检查环境变量是否添加:
-
GOROOT
:C:\Program Files\Go
-
GOPATH
(可自定义):如D:\GoProjects
-
把
%GOROOT%\bin
和%GOPATH%\bin
添加到系统PATH
-
-
打开终端(cmd 或 PowerShell)测试:
go version go env
🍎 macOS 安装步骤:
方法一:使用 官网 .pkg 安装包
方法二(推荐):使用 Homebrew 安装
brew install go
设置环境变量(可写入 ~/.zshrc
或 ~/.bash_profile
):
export GOROOT=/usr/local/opt/go/libexec export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
刷新配置:
source ~/.zshrc # 或 ~/.bash_profile
🐧 Linux 安装步骤:
-
下载
.tar.gz
压缩包 -
解压到
/usr/local
目录:sudo tar -C /usr/local -xzf go1.xx.x.linux-amd64.tar.gz
-
配置环境变量(加入
~/.bashrc
或~/.zshrc
):export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
-
刷新配置并检查:
source ~/.bashrc go version go env
📁 二、理解 GOROOT、GOPATH、Go Modules
名称 | 说明 |
---|---|
GOROOT | Go 安装目录,包含标准库和编译器(一般不修改) |
GOPATH | 你的代码工作目录(可自定义) |
Go Modules | Go 1.11+ 推荐使用的依赖管理方式 |
建议从 Go 1.13+ 开始启用模块管理,设置:
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct # 国内建议设置代理
🧑💻 三、推荐编辑器与插件
🌟 推荐 IDE/编辑器
编辑器 | 插件名 | 特点 |
---|---|---|
VS Code | Go(by Google) | 免费、轻便、生态强 |
GoLand | 内置支持 | JetBrains 出品,专业强大但付费 |
VS Code 配置示例
-
安装插件:Go(作者为 Google)
-
自动提示和调试功能配置:
{ "go.useLanguageServer": true, "go.formatTool": "gofmt", "go.lintTool": "golint", "go.gopath": "/你的/gopath/目录" }
-
打开项目后执行:
Ctrl + Shift + P → Go: Install/Update Tools → 全选安装
📦 四、项目结构与模块初始化
初始化 Go 模块
在你的项目目录下执行:
mkdir myproject cd myproject go mod init github.com/yourname/myproject
这将生成 go.mod
文件,管理依赖包。
🔍 五、验证是否成功安装
创建一个简单的 hello.go
:
package main import "fmt" func main() { fmt.Println("Hello, Go!") }
在终端运行:
go run hello.go
看到输出即表示环境配置成功。
⚙️ 六、常用 Go 命令
命令 | 作用 |
---|---|
go run | 运行 Go 文件 |
go build | 编译生成可执行文件 |
go install | 编译并安装到 $GOPATH/bin |
go get | 安装/拉取依赖包 |
go mod tidy | 清理 go.mod 和 go.sum |
go fmt | 格式化代码 |
go test | 单元测试运行 |