Ubuntu下Golang如何跨平台编译
在Ubuntu上,通过设置GOOS和GOARCH环境变量,无需额外工具链,即可用gobuild将Go代码交叉编译为Windows、macOS、Linux等平台的可执行文件,文件名自动适配,取消设置可恢复本地编译。此方法简洁高效,支持跨平台分发。
在 Ubuntu 上做 Golang 开发,跨平台编译几乎是必会技能。毕竟你不可能每次都为了打个 Windows 包就换台机器。Go 的交叉编译机制简洁得令人舒适——只需改几个环境变量,就能把代码打包成任何主流平台的可执行文件。下面直接上手。

第一步,确认 Go 已经装好。如果还没装,去 https://golang.org/dl/ 下载 Ubuntu 对应的版本,或者直接用包管理器,没什么难度。
第二步,打开终端,设置两个关键的环境变量:GOOS 和 GOARCH。前者指定目标操作系统,后者指定架构。比如要编译 Windows 64 位程序,运行:
export GOOS=windows
export GOARCH=amd64
其他常见组合如下:
- macOS(Darwin):
GOOS=darwin,GOARCH=amd64 - Linux:
GOOS=linux,GOARCH=amd64(这是默认值,不设也行) - FreeBSD:
GOOS=freebsd,GOARCH=amd64 - OpenBSD:
GOOS=openbsd,GOARCH=amd64 - NetBSD:
GOOS=netbsd,GOARCH=amd64
值得一提的是,Go 支持的目标平台远不止这些,还有 ARM、MIPS 等,但上面几个是日常最常用的。
第三步,环境变量设好后,直接 go build 编译你的源文件。假设你的入口文件是 main.go:
go build main.go
编译成功后,当前目录下会生成一个可执行文件——注意,它的名字和扩展名会随目标平台自动适配(比如 Windows 下会带 .exe)。你可以直接将它扔到对应系统里运行,完全不需要额外配置。
第四步,如果后续想切回编译本地平台,记得取消设置:
unset GOOS
unset GOARCH
这样环境变量就恢复默认值了。当然,你也可以直接关闭终端重新打开,效果一样。
整个过程就这么简单。Go 的交叉编译不需要额外安装任何工具链,也不需要修改代码,这是它相较于其他语言的一大优势。下次需要给同事发个 Windows 工具,或者部署到树莓派上,几行命令就能搞定。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















