go 跨平台打包

时间:2024-12-19 15:28:36

GOARCH‌是Go语言中的一个环境变量,用于指定目标平台的底层架构。在Go的交叉编译过程中,‌GOARCH‌决定了编译出的二进制文件将在哪种硬件架构上运行。

GOARCH的常见值

  • amd64‌:64位 x86 架构
  • 386‌:32位 x86 架构
  • arm‌:32位 ARM 架构
  • arm64‌:64位 ARM 架构
  • ppc64‌:64位 PowerPC 架构
  • ppc64le‌:64位小端 PowerPC 架构
  • mips64‌:64位 MIPS 架构
  • mips64le‌:64位小端 MIPS 架构
  • s390x‌:64位 IBM z/Architecture

 在Windows系统上编译Linux平台的可执行文件时,可以设置环境变量如下:

set GOARCH=amd64
go env -w GOARCH=amd64
set GOOS=linux
go env -w GOOS=linux
go build -o shop

go env -w GOOS=windows

在Linux系统上编译Windows平台的可执行文件时,可以设置环境变量如下:

GOOS=windows
GOARCH=amd64
go build -o output.exe main.go