This is a created article in which the information may have evolved or changed.
Golang supports cross-compilation and generates an executable program for another platform on one platform
Linux and Windows 64-bit executables are compiled under MAC
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
Linux under Compile Mac and Windows 64-bit executable program
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.goCGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
Windows compiles MAC and Linux 64-bit executables
SET CGO_ENABLED=0SET GOOS=darwinSET GOARCH=amd64go build main.goSET CGO_ENABLED=0SET GOOS=linuxSET GOARCH=amd64go build main.go
GOOS: The operating system of the target platform (Darwin, FreeBSD, Linux, Windows)
Goarch: Architecture of the target platform (386, AMD64, ARM)
Cross-compilation does not support CGO so to disable it