Build for Different Architectures in Go

Go programs can be built for different architectures and Operating systems using the $GOOS environment variable and the $GOARCH variables.

For example, for 32-bit Linux:

GOOS=linux GOARCH=386 go build -o linux_386_build

List of Options

$GOOS$GOARCH
aixppc64
android386
androidamd64
androidarm
androidarm64
darwin386
darwinamd64
darwinarm
darwinarm64
dragonfly amd64
freebsd386
freebsdamd64
freebsdarm
illumosamd64
jswasm
linux386
linuxamd64
linuxarm
linuxarm64
linuxppc64
linuxppc64le
linuxmips
linuxmipsle
linuxmips64
linuxmips64le
linuxs390x
netbsd386
netbsdamd64
netbsdarm
openbsd386
openbsdamd64
openbsdarm
openbsdarm64
plan9386
plan9amd64
plan9arm
solarisamd64
windows386
windowsamd64