Go语言原生支持跨平台编译,只需设置GOOS和GOARCH环境变量即可构建目标平台二进制;常见组合包括windows/amd64、darwin/arm64、linux/386、linux/arm64;除macOS不可编译Windows GUI及Windows不可编译macOS外,其余组合开箱即用;启用cgo会受限,建议纯Go项目设CGO_ENABLED=0;推荐用shell脚本或Makefile统一管理多平台构建。

Go 语言原生支持跨平台编译,无需额外安装工具链,只需设置两个环境变量即可完成目标平台的二进制构建。
Go 编译器通过 GOOS(目标操作系统)和 GOARCH(目标 CPU 架构)决定生成哪个平台的可执行文件。常见组合如下:
GOOS=windows GOARCH=amd64 go build
GOOS=darwin GOARCH=arm64 go build
GOOS=linux GOARCH=386 go build
GOOS=linux GOARCH=arm64 go build
Go 官方发行版已内置所有主流平台的编译支持(除 Windows 下编译 macOS 外,其余组合均开箱即用)。注意以下限制:
CGO_ENABLED=0 go build
用简单 shell 脚本或 Makefile 可快速生成多个平台版本。例如创建 build.sh:
立即学习“go语言免费学习笔记(深入)”;
#!/bin/bash GOOS=linux GOARCH=amd64 go build -o bin/app-linux-amd64 . GOOS=linux GOARCH=arm64 go build -o bin/app-linux-arm64 . GOOS=windows GOARCH=amd64 go build -o bin/app-windows-amd64.exe . GOOS=darwin GOARCH=arm64 go build -o bin/app-darwin-arm64 .
运行 chmod +x build.sh && ./build.sh 即可批量产出。
生成后可用系统命令快速确认目标平台:
file app-linux-amd64 查看 ELF 架构信息Get-Command .\app-windows-amd64.exe | Select-Object -ExpandProperty Definition(或直接双击测试)runtime.GOOS 和 runtime.GOARCH 获取当前运行时平台,便于条件编译基本上就这些。Go 的跨平台能力简洁可靠,关键在于理解 GOOS/GOARCH 组合逻辑,并注意 cgo 和平台限制这两个易错点。
以上就是如何配置Golang跨平台编译工具链_Golang跨平台构建方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号