Ubuntu下Golang跨平台编译方法

作者:技术拾光

时间:2026-08-12

浏览:418

在Ubuntu上,通过设置GOOS和GOARCH环境变量,无需额外工具链,即可用gobuild将Go代码交叉编译为Windows、macOS、Linux等平台的可执行文件,文件名自动适配,取消设置可恢复本地编译。此方法简洁高效,支持跨平台分发。

文章目录

Ubuntu 下 Golang 跨平台编译方法

在 Ubuntu 上进行 Golang 开发时,跨平台编译是常见需求。通常无需为了生成 Windows 程序而切换设备。Go 的交叉编译机制比较直接,只需要调整几个环境变量,就可以将代码编译为主流平台的可执行文件。下面介绍具体操作方法。

Ubuntu下Golang跨平台编译方法

第一步:确认已安装 Go

开始之前,先确认系统中已经安装 Go。如果尚未安装,可前往 https://golang.org/dl/ 下载适用于 Ubuntu 的版本,也可以直接通过包管理器安装。

第二步:设置 GOOS 和 GOARCH 环境变量

打开终端后,设置两个关键环境变量:GOOS 和 GOARCH。其中,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 进行编译

环境变量设置完成后,直接使用 go build 编译源文件。假设入口文件为 main.go,可运行:

go build main.go

编译成功后,当前目录中会生成对应平台的可执行文件。文件名和扩展名会根据目标系统自动适配,例如在 Windows 目标下会生成带有 .exe 后缀的文件。生成后即可放到对应系统中运行,一般不需要额外配置。

第四步:恢复本地平台编译环境

如果后续需要切回当前 Ubuntu 平台进行默认编译,可以取消之前设置的环境变量:

unset GOOS
unset GOARCH

执行后,环境变量会恢复为默认状态。也可以直接关闭当前终端并重新打开,效果相同。

Ubuntu 下使用 Go 进行交叉编译总结

整体来看,Go 在 Ubuntu 下的跨平台编译流程非常简洁,不需要额外安装工具链,也不需要修改源代码。通过设置 GOOS 和 GOARCH,再配合 go build,即可快速生成适用于不同操作系统和架构的可执行文件,适合日常开发、分发工具以及多平台部署使用。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章