目录
跨平台编译" >跨平台编译
首页 后端开发 Golang 手把手教你实现Golang跨平台编译

手把手教你实现Golang跨平台编译

Jul 20, 2023 pm 04:13 PM
golang go语言(golang)

跨平台编译

跨平台编译,也叫交叉编译,我可以在win平台上,编译成linux平台可执行的文件。

这也是Go备受青睐的原因,像java,python,php等语言,我们开发一般是在win平台上开发,部署的时候在linux上部署,在处理第三方依赖是比较麻烦,不仅开发累,运维也累,虽然现在有docker解决了这个痛点,但是应该还是没原生来的舒服。

如果使用Go的话,不管是什么第三方依赖,最终只会打包成一个可执行文件,直接部署即刻,并且是高并发方式,心再大一点,连Nginx都不用,但是一点不用担心并发问题。


示例

在win平台上编译成linux平台可执行文件。cmd下依次执行以下命令:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64
登录后复制

手把手教你实现Golang跨平台编译

然后执行go build,得到的就是能够在linux上,可执行的文件。

手把手教你实现Golang跨平台编译

我现在将这个文件上传到我的云服务器上,如下图所示。

手把手教你实现Golang跨平台编译

之后执行,可以看到,我云服务器上连Go环境都没,但是仍然可以执行成功。

手把手教你实现Golang跨平台编译

Windows下编译Mac平台64位可执行程序:

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
登录后复制

Mac 下编译 Linux 和 Windows平台 64位 可执行程序:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
登录后复制

Linux 下编译 Mac 和 Windows 平台64位可执行程序:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
登录后复制

以上是手把手教你实现Golang跨平台编译的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用 Golang 安全地读取和写入文件? 如何使用 Golang 安全地读取和写入文件? Jun 06, 2024 pm 05:14 PM

如何使用 Golang 安全地读取和写入文件?

如何为 Golang 数据库连接配置连接池? 如何为 Golang 数据库连接配置连接池? Jun 06, 2024 am 11:21 AM

如何为 Golang 数据库连接配置连接池?

Golang 与 C++ 的异同 Golang 与 C++ 的异同 Jun 05, 2024 pm 06:12 PM

Golang 与 C++ 的异同

golang框架架构的学习曲线有多陡峭? golang框架架构的学习曲线有多陡峭? Jun 05, 2024 pm 06:59 PM

golang框架架构的学习曲线有多陡峭?

如何在 Golang 中从列表中生成随机元素? 如何在 Golang 中从列表中生成随机元素? Jun 05, 2024 pm 04:28 PM

如何在 Golang 中从列表中生成随机元素?

golang框架的优缺点比较 golang框架的优缺点比较 Jun 05, 2024 pm 09:32 PM

golang框架的优缺点比较

Golang 框架中的错误处理最佳实践有哪些? Golang 框架中的错误处理最佳实践有哪些? Jun 05, 2024 pm 10:39 PM

Golang 框架中的错误处理最佳实践有哪些?

golang框架文档使用说明 golang框架文档使用说明 Jun 05, 2024 pm 06:04 PM

golang框架文档使用说明

See all articles