我能得到的最接近的是runtime.GOARCH,但这也可能给出arm,它可以是 32 位或 64 位。
我只关心这个程序是如何构建的,而不关心操作系统是否也支持 64 位可执行文件。例如,对于 AArch64 CPU 上的 ARM 模式或 x86-64 CPU 上的 32 位兼容模式,我仍然想要 32,因为这是该程序运行的模式。
相关:检测操作系统 x86 或 x64,当在 GO 中编译为 x86 时,是关于检测操作系统支持的内容,例如可能运行不同编译的可执行文件。
将 GOARCH 用于 arm:arm (ARM) 和 arm64 (AArch64),
$GOOS 和 $GOARCH
目标操作系统和编译架构的名称。这些分别默认为 $GOHOSTOS 和 $GOHOSTARCH 的值(如下所述)。
$GOOS 的选择是
Run Code Online (Sandbox Code Playgroud)$GOOS $GOARCH darwin 386 darwin amd64 darwin arm darwin arm64 dragonfly amd64 freebsd 386 freebsd amd64 freebsd arm linux 386 linux amd64 linux arm linux arm64 linux ppc64 linux ppc64le linux mips64 linux mips64le netbsd 386 netbsd amd64 netbsd arm openbsd 386 openbsd amd64 openbsd arm plan9 386 plan9 amd64 solaris amd64 windows 386 windows amd64