golang可以在windows上编译出linux、MacOS等系统上的程序。
go编译器windows下可变翼linux程序,例如,GOARCH=amd64
和 GOOS=linux
可以用于编译 64 位的 Linux 平台上的可执行文件。:
set GOARCH=amd64
set GOOS=linux
go build main.go
通过设置上述环境变量,可指定 Golang 编译器的目标平台和操作系统,从而编译出对应的可执行文件。
上述参数支持的其他值及含义,如下:
1. GOARCH(目标平台架构)可能的值:- `amd64`:64位 x86 架构- `386`:32位 x86 架构- `arm`:ARM 架构(32位)- `arm64`:ARM64 架构(64位)- `ppc64`:64位 PowerPC 架构- `ppc64le`:64位小端 PowerPC 架构- `mips64`:64位 MIPS 架构- `mips64le`:64位小端 MIPS 架构- `s390x`:64位 IBM z/Architecture2. GOOS(目标平台操作系统)可能的值:- `linux`:Linux 操作系统- `windows`:Windows 操作系统- `darwin`:macOS 操作系统- `freebsd`:FreeBSD 操作系统- `netbsd`:NetBSD 操作系统- `openbsd`:OpenBSD 操作系统- `dragonfly`:DragonFly BSD 操作系统- `solaris`:Solaris 操作系统- `plan9`:Plan 9 操作系统- `aix`:IBM AIX 操作系统
上述不是可以任意搭配,不支持的会报错。正常配置如,GOARCH=amd64 和 GOOS=linux 通常用于编译 64 位的 Linux 平台上的可执行文件;GOARCH=386 和 GOOS=windows 通常用于编译 32 位的 Windows 平台上的可执行文件。