Go编译为可执行程序

Go语言编译

在项目根目录(main函数所在的目录)打开终端,运行下面的语句进行编译

go build .

注意后面有个 空格 和 . 符号

 交叉编译

在Windows x86环境开发,但需要将程序部署到 Linux ARM64环境下时

就需要使用Go的交叉编译功能

Go提供环境变量 ( 详见 http://go.dev/wiki/ )

     GOOS: GO操作系统(OS)用于设置目标编译的操作系统,如 windows  linux  darwin (MacOS)

     GOARCH:Go架构 (Architecture)用于设置CPU所示使用的指令集,如 amd64 (x86)  arm64

因此可以通过设置环境变量来选择编译的平台和指令集架构

例如:编译 Linux ARM64 程序 可以这样做

go env -w GOOS=linux
go env -w GOARCH=arm64
go build .

但这种方式有个缺点每次都得将Go环境的变量改回来,不然编译的程序将一直是指定的平台

推荐的做法是使用临时的变量设置

例如 Windows CMD 窗口可以这么做,首先得进入 CMD 不然 SET 无效

CMD

SET GOOS=linux
SET GOARCH=arm64
go build .

类 Unix 系统可以这样做 ( MacOS  Linux )

GOOS=windows GOARCH=amd64 go build .

 

posted @ 2024-12-13 16:49  海乐学习  阅读(12)  评论(0编辑  收藏  举报