在编译go程序的时候一般使用的命令是go build main.go
可以通过加上环境变量来实现交叉编译的效果。

当不加环境变量的时候,就会使用当前系统和芯片类型,这两个类型是定义在编译器中的。

runtime.GOOS// 系统版本,我这里为darwin
runtime.GOARCH// 系统平台版本,我这里为arm64

还有一个环境变量是GOARM这个不太常用。

GOOS和GOARCH的可选列表如下

darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64

假如我在当前mac系统环境下想要编译windows下能够使用的go程序,可以使用下面的命令编译。

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
最后修改:2023 年 10 月 20 日
如果觉得我的文章对你有用,请随意赞赏