Go 支持交叉编译
可以在一个平台生成在另一个平台可执行的文件
其最直接优点在于支持高并发,并且编译的文件无需配置环境,go build之后可自动引入所需要的文件和库
Windows 下编译Mac可执行程序
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go
注意:该执行文件要在cmd命令行下执行,如果使用Git的git bash将无法生成二进制文件
同理 windows打包Linux64位可执行程序 执行将darwin换成linux即可
Mac 和 Linux下编译可执行程序
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
同理,将GOOS对应的参数换成darwin、linux、windows 分别对应Mac、Linux、Windows
GOARCH 对应 目标平台的体系架构 (386、amd64、arm)
上述的命令都是编译成64位的可执行文件,也可以使用386编译和32位可执行程序,均ok
注意:Mac上的可执行程序需要赋予权限 在终端输入
chmod +x main # 赋予执行权限
./main # 运行
即可正常运行生成的可执行程序
That's all~