总述:Golang 支持交叉编译,即在一个平台上生成另一个平台的可执行程序。

1、Mac 下编译 Linux 和 Windows 64位可执行程序

linux:

新建一个与main.go同层级的一个sh执行脚本,里面的内容如下:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

 在GoLand里运行这个sh脚本即可。

windows:

新建一个与main.go同层级的一个sh执行脚本,里面的内容如下:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

在GoLand里运行这个sh脚本即可。 

2、Linux 下编译 Mac 和 Windows 64位可执行程序

Mac:

新建一个与main.go同层级的一个sh执行脚本,里面的内容如下:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

 赋予这个sh脚本执行权限,然后运行这个sh。

windows:

新建一个与main.go同层级的一个sh执行脚本,里面的内容如下:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

 赋予这个sh脚本执行权限,然后运行这个sh。 

3、Windows 下编译 Mac 和 Linux 64位可执行程序

Mac:

新建一个与main.go同层级的一个sh执行脚本,里面的内容如下:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go

 在cmd命令行执行这个bat批命令脚本。

linux:

新建一个与main.go同层级的一个bat执行脚本,里面的内容如下:

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

  在cmd命令行执行这个bat批命令脚本。