This is a created article in which the information may have evolved or changed.
Golang Support cross-compilation, on one platform to generate another platform executable program, recently used, very useful, here is a memo.
Linux and Windows 64-bit executables are compiled under MAC
Linux under Compile Mac and Windows 64-bit executable program
Windows compiles MAC and Linux 64-bit executables
SET CGO_ENABLED=0SET GOOS=darwinSET GOARCH=amd64 go build main.goSET CGO_ENABLED=0SET GOOS=linuxSET GOARCH=amd64 go build main.go
GOOS: Target platform's operating system (Darwin, FreeBSD, Linux, Windows) Goarch: The architecture of the target platform (386, AMD64, arm) cross-compiling does not support CGO so to disable it
The above command compiles a 64-bit executable, you should of course also use 386 to compile 32-bit executables Many blogs have mentioned the need to increase support for other platforms first, but I skipped that step, the commands listed above can be successful, and the results I want to see, that step should be non-essential, or I use the All platforms are supported by the Go version by default.