Golang 支持在一個平臺下生成另外一個平臺可執行程序的交叉編譯功能。linux
# mac編譯linux執行文件 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go # mac編譯windows執行文件 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
# 編譯mac執行文件 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go # 編譯windows執行文件 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
# windows編譯mac SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go # windows編譯linux SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build main.go