go build 生成不同OS下的可执行文件

golang的一大特性就是跨平台编译
有时候我们会遇到在windows里写代码,然后把程序拿到linux里运行的情况。跨平台编译的便利性会使你喜欢上golang这个语言。

所谓跨平台编译,就是在一个操作系统下生成另一个操作系统下可执行的文件。
你只需要在编写代码的操作系统下设置一些参数即可达到这个目的。

# Windows下编译linux的64位可执行文件
> SET  CGO_ENABLED=0
> SET GOOS=linux
> SET GOARCH=amd64
> go build hello.go

以helloworld作为示例:

package main

import "fmt"

func main() {
    fmt.Println("hello world.")
}

go代码编写完成后,执行go build hello.go,会在目录下生成hello.exe,执行上述命令后,会生成linux下的可执行文件。

红框内是linux下的可执行文件.png
图片.png

记录不同平台下交叉编译的命令

# Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build xxx.go

# Linux下编译 Mac 和 Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build xxx.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build xxx.go

# Mac 下编译 Linux 和 Windows 平台 64位 可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build xxx.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build xxx.go
由于版权原因,本站共享资源只供云盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件并发送到[email protected]告知,我们会在收到邮件后72小时内删除。
想开点 » go build 生成不同OS下的可执行文件