Go 编程实战系列(二)
上一篇我们介绍了《为什么学习 Go?Go 能做什么?》,了解了 Go 语言在 Web 后端、微服务、云原生、网络编程和运维工具等领域的应用。
从本篇开始,我们正式进入 Go 编程实践。
要编写和运行 Go 程序,首先需要安装 Go 开发环境。本文将分别介绍 Windows、macOS 和 Linux 三个平台的安装方法,并带你完成环境验证、常用配置以及第一个 Go 项目的创建。
学习完本文后,你将能够:
-
正确安装 Go 开发环境
-
使用
go version验证安装结果 -
理解 GOROOT、GOPATH 和 Go Modules
-
配置 Go 模块代理
-
创建并运行第一个 Go 项目
-
解决常见的环境配置问题
一、安装 Go 前需要了解什么?
Go 是一门编译型语言。
我们编写的 .go 源代码需要通过 Go 编译器转换成可执行程序,然后才能运行。
安装 Go 开发环境后,系统中会增加一系列命令,例如:
go
go version
go env
go run
go build
go test
go mod
其中,最核心的是 go 命令。
它可以完成:
-
运行 Go 程序
-
编译项目
-
管理依赖
-
执行测试
-
格式化代码
-
安装开发工具
因此,安装 Go 的本质,就是安装 Go 编译器、标准库和配套命令行工具。
二、下载 Go 安装包
建议从 Go 官方网站下载稳定版本。
下载时,需要根据操作系统和处理器架构选择对应的安装包。
常见平台包括:
-
Windows 64 位
-
macOS Intel 芯片
-
macOS Apple Silicon 芯片
-
Linux x86-64
-
Linux ARM64
不同处理器架构不能随意混用。
例如,Apple M 系列芯片的 Mac 通常应选择 ARM64 版本,而较老的 Intel Mac 应选择 AMD64 或 x86-64 版本。
如果不确定电脑架构,可以先查看系统信息。
三、Windows 安装 Go
Windows 平台一般使用 MSI 安装包,安装过程比较简单。
1. 下载 Windows 安装包
下载文件名称通常类似:
go1.xx.x.windows-amd64.msi
其中:
-
windows表示 Windows 系统 -
amd64表示 64 位处理器 -
msi表示 Windows 安装程序
下载完成后,双击安装文件。
2. 执行安装
进入安装界面后,按照提示操作即可。
通常可以直接使用默认配置:
makefile
C:\Program Files\Go
这个目录就是 Go 的默认安装目录。
安装过程中,安装程序一般会自动将 Go 的命令目录添加到系统环境变量 PATH 中。
完成后点击"Finish"结束安装。
3. 验证安装结果
打开命令提示符。
可以按下:
Win + R
输入:
cmd
然后执行:
go
go version
如果输出类似:
bash
go version go1.xx.x windows/amd64
说明 Go 已经安装成功。
继续执行:
bash
go env
可以查看 Go 的完整环境配置。
4. Windows 找不到 go 命令
如果执行 go version 时提示:
arduino
'go' 不是内部或外部命令
说明系统没有正确找到 Go 的可执行文件。
可以检查环境变量中是否包含:
makefile
C:\Program Files\Go\bin
操作步骤如下:
- 右键"此电脑"
- 选择"属性"
- 打开"高级系统设置"
- 点击"环境变量"
- 找到系统变量中的
Path - 检查是否包含 Go 的
bin目录
修改完成后,应关闭并重新打开命令提示符。
四、macOS 安装 Go
macOS 可以使用官方安装包,也可以使用 Homebrew 安装。
对于初学者,推荐使用官方安装包;对于已经熟悉 Homebrew 的开发者,也可以通过命令安装。
1. 查看 Mac 处理器架构
点击左上角苹果图标,选择"关于本机"。
如果显示:
Apple M1
Apple M2
Apple M3
Apple M4
说明是 Apple Silicon 芯片,应选择 ARM64 版本。
如果显示 Intel 处理器,则选择 AMD64 版本。
也可以在终端执行:
bash
uname -m
可能得到:
arm64
或者:
x86_64
2. 使用官方安装包
下载文件通常类似:
go1.xx.x.darwin-arm64.pkg
或者:
go1.xx.x.darwin-amd64.pkg
双击 .pkg 文件,按照安装向导完成安装。
官方安装包通常会将 Go 安装到:
bash
/usr/local/go
Go 命令所在目录为:
bash
/usr/local/go/bin
安装完成后,打开终端执行:
go
go version
如果看到:
bash
go version go1.xx.x darwin/arm64
说明安装成功。
3. 使用 Homebrew 安装
如果电脑已经安装 Homebrew,可以执行:
go
brew install go
安装完成后执行:
go
go version
查看 Go 命令位置:
bash
which go
Apple Silicon Mac 上可能输出:
bash
/opt/homebrew/bin/go
Intel Mac 上可能输出:
bash
/usr/local/bin/go
升级 Go 可以执行:
go
brew upgrade go
4. macOS 提示 command not found
如果执行命令时提示:
bash
zsh: command not found: go
可以先检查 Go 是否已经安装:
bash
ls /usr/local/go/bin/go
如果文件存在,可以编辑 Shell 配置文件。
macOS 默认通常使用 zsh:
bash
nano ~/.zshrc
加入:
ruby
export PATH=$PATH:/usr/local/go/bin
保存后执行:
bash
source ~/.zshrc
然后再次验证:
go
go version
五、Linux 安装 Go
Linux 平台通常使用官方压缩包安装。
下面以常见的 x86-64 Linux 系统为例。
1. 下载 Go 压缩包
下载文件通常类似:
go1.xx.x.linux-amd64.tar.gz
可以使用浏览器下载,也可以通过命令行下载。
例如:
arduino
wget https://go.dev/dl/go1.xx.x.linux-amd64.tar.gz
需要将命令中的版本号替换为实际下载版本。
ARM64 服务器应选择:
linux-arm64
可以执行以下命令查看系统架构:
bash
uname -m
常见结果:
x86_64
表示应使用 AMD64 版本。
aarch64
表示应使用 ARM64 版本。
2. 删除旧版本
如果系统之前安装过 Go,建议先删除旧目录:
bash
sudo rm -rf /usr/local/go
不要直接将新版本覆盖到旧目录,否则可能残留旧文件,造成异常。
3. 解压安装包
执行:
bash
sudo tar -C /usr/local -xzf go1.xx.x.linux-amd64.tar.gz
解压完成后,Go 会被安装到:
bash
/usr/local/go
4. 配置环境变量
如果使用 Bash,可以编辑:
bash
nano ~/.bashrc
加入:
ruby
export PATH=$PATH:/usr/local/go/bin
保存后执行:
bash
source ~/.bashrc
如果使用 zsh,则编辑:
bash
nano ~/.zshrc
加入同样的配置:
ruby
export PATH=$PATH:/usr/local/go/bin
然后执行:
bash
source ~/.zshrc
5. 验证 Linux 安装结果
执行:
go
go version
如果输出类似:
bash
go version go1.xx.x linux/amd64
说明安装成功。
查看 Go 命令位置:
bash
which go
正常情况下会输出:
go
/usr/local/go/bin/go
六、认识 go env
安装完成后,可以执行:
bash
go env
该命令会显示当前 Go 开发环境的详细信息。
其中几个重要配置需要重点了解。
1. GOROOT
GOROOT 表示 Go 的安装目录。
例如:
bash
/usr/local/go
Windows 上可能是:
makefile
C:\Program Files\Go
该目录中包含:
-
Go 编译器
-
标准库
-
命令行工具
-
Go 源码
一般情况下,不需要手动修改 GOROOT。
2. GOPATH
GOPATH 是 Go 的工作目录。
可以执行:
bash
go env GOPATH
常见结果:
Windows:
go
C:\Users\用户名\go
macOS 和 Linux:
bash
/Users/用户名/go
或者:
bash
/home/用户名/go
早期 Go 项目必须放在 GOPATH 下,现在使用 Go Modules 后,项目可以放在任意目录。
不过,GOPATH 仍然会用于保存:
-
下载的模块缓存
-
通过
go install安装的工具 -
部分编译缓存
因此不建议随意删除。
3. GOPROXY
GOPROXY 用于配置 Go 模块下载代理。
查看当前配置:
bash
go env GOPROXY
修改配置:
bash
go env -w GOPROXY=https://proxy.golang.org,direct
在部分网络环境中,如果依赖下载较慢,可以选择可用的模块代理。
例如:
bash
go env -w GOPROXY=https://goproxy.cn,direct
修改后重新查看:
bash
go env GOPROXY
4. GOOS 和 GOARCH
GOOS 表示目标操作系统:
bash
go env GOOS
常见结果:
windows
darwin
linux
GOARCH 表示处理器架构:
bash
go env GOARCH
常见结果:
amd64
arm64
这两个配置在以后进行跨平台编译时非常重要。
七、创建第一个 Go 项目
安装完成后,我们创建一个简单项目验证环境。
首先新建项目目录:
bash
mkdir hello-go
cd hello-go
初始化 Go Modules:
go
go mod init hello-go
执行后,目录中会生成:
go
go.mod
内容类似:
go
module hello-go
go 1.xx
go.mod 用于记录:
-
项目模块名称
-
Go 版本
-
第三方依赖
-
依赖版本
八、编写第一个 Go 程序
在项目目录中新建文件:
css
main.go
写入以下代码:
go
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
代码说明:
-
package main表示这是一个可执行程序 -
import "fmt"导入格式化输出包 -
func main()是程序入口 -
fmt.Println()用于输出内容
九、运行 Go 程序
在项目目录执行:
go
go run main.go
也可以执行:
arduino
go run .
输出结果:
Hello, Go!
go run 会临时编译并运行程序,适合开发和测试阶段。
十、编译 Go 程序
执行:
go
go build
Go 会生成一个可执行文件。
Windows 下通常生成:
go
hello-go.exe
macOS 和 Linux 下通常生成:
go
hello-go
macOS 或 Linux 可以执行:
bash
./hello-go
Windows 可以执行:
go
hello-go.exe
编译后的程序通常可以独立运行,不需要在目标机器上额外安装 Go。
这也是 Go 部署方便的重要原因。
十一、常用 Go 命令
安装完成后,可以先熟悉以下命令。
查看版本:
go
go version
查看环境配置:
bash
go env
初始化项目:
csharp
go mod init 项目名称
运行程序:
arduino
go run .
编译程序:
go
go build
整理依赖:
go
go mod tidy
格式化代码:
erlang
gofmt -w .
执行测试:
bash
go test ./...
安装命令行工具:
go
go install 包地址@版本
查看帮助:
bash
go help
十二、常见问题
1. go 命令无法识别
错误提示可能是:
bash
go: command not found
或者:
arduino
'go' 不是内部或外部命令
主要原因是 Go 的 bin 目录没有加入 PATH。
检查以下目录是否存在:
Windows:
makefile
C:\Program Files\Go\bin
macOS 和 Linux:
bash
/usr/local/go/bin
配置完成后,需要重新打开终端。
2. Go 版本仍然是旧版本
先执行:
bash
which go
Windows 可以执行:
bash
where go
如果系统中存在多个 Go 安装路径,可能调用了旧版本。
需要删除旧版本,或者调整 PATH 中目录的顺序。
3. 下载第三方依赖失败
可以先检查网络,然后查看代理配置:
bash
go env GOPROXY
重新设置模块代理:
bash
go env -w GOPROXY=https://proxy.golang.org,direct
设置完成后执行:
go
go clean -modcache
go mod tidy
4. 提示找不到 go.mod
错误类似:
go
go: go.mod file not found
说明当前目录还没有初始化 Go Modules。
进入项目目录后执行:
csharp
go mod init 项目名称
5. Linux 没有执行权限
如果自行下载了可执行程序,可能需要添加权限:
bash
chmod +x 程序名称
然后运行:
./程序名称
不过通过 go build 生成的程序一般会自动具有执行权限。
十三、是否需要配置 GOPATH?
现在的新项目基本都使用 Go Modules,因此通常不需要手动配置 GOPATH,也不要求项目放在 GOPATH 的 src 目录中。
你可以把项目放在任意位置,例如:
Windows:
go
D:\code\go-projects
macOS:
javascript
~/Code/go-projects
Linux:
javascript
~/projects/go
只要进入项目目录执行:
csharp
go mod init 项目名称
就可以正常开发。
对于初学者来说,不建议照搬一些旧教程中的 GOPATH 项目结构,以免增加不必要的理解成本。
十四、推荐的项目目录
学习阶段可以统一创建一个 Go 项目目录。
例如:
go
go-projects
├── hello-go
├── calculator
├── student-manager
└── web-demo
每个项目单独初始化 Go Modules:
go
go mod init hello-go
这样不同项目之间互不干扰,也更符合现代 Go 项目的管理方式。
十五、本章小结
本篇完成了 Windows、macOS 和 Linux 三个平台的 Go 开发环境安装。
我们主要学习了:
-
下载并安装 Go
-
配置系统 PATH
-
使用
go version验证环境 -
使用
go env查看配置 -
理解 GOROOT、GOPATH 和 GOPROXY
-
使用 Go Modules 初始化项目
-
运行和编译第一个 Go 程序
-
排查常见环境问题
在继续学习之前,请确保以下命令可以正常运行:
go
go version
go env
go run .
go build
只要这些命令没有报错,就说明 Go 基础开发环境已经准备完成。
本章练习
- 在自己的电脑上安装 Go。
- 执行
go version查看版本信息。 - 执行
go env查看环境配置。 - 找出当前系统的
GOROOT和GOPATH。 - 创建一个名为
hello-go的项目。 - 使用
go mod init hello-go初始化项目。 - 编写
main.go并输出一句自定义内容。 - 分别使用
go run .和go build运行程序。 - 查看编译后生成的可执行文件。
- 尝试修改 GOPROXY,并重新查看配置。
下一篇预告
《配置 GoLand 与 VS Code 开发环境》
下一篇将详细介绍 GoLand 和 VS Code 的安装与配置,包括 Go SDK、官方插件、gopls、代码自动补全、保存时格式化、断点调试和常用开发设置,帮助大家搭建更加高效的 Go 编程环境。