golang 多平台交叉编译

本文探讨了为何Go语言因其易用性、编译型特性及轻量级打包优势成为一体化跨平台应用开发的理想选择,重点介绍了Go的编译原理、交叉编译设置和适用平台。对比了其他语言如Java、PHP、Node.js等的局限性。
摘要由CSDN通过智能技术生成

主思路

选择一个一体化,跨平台,容易打包的语言,目前来看只有go了。

选型思路

java要附带一批库,还要附带一个jre,不容易

php也是一批库和一个php runtime

nodejs更多库和一个node runtime

C有点难用,复杂一点的应用就花太多时间了,没有积累也不敢选

所以可选择的余地不多,太小众的语言也许还有,暂时就不研究了。

跨平台

go语言是编译型的,跨平台就可以用交叉编译。上手很快,与其他跨平台相比,打包不大,不需要额外的库或runtime安装,build后直接复制就可以运行了。编译后的文件不小,但相比java/php/nodejs 就算很小了。

交叉编译设定简单

GOOS=windows GOARCH=amd64 go build -o dist

原则上就是设定 GOOS, GOARCH就够了

可以查看支持的平台

go tool dist list

windows可以用

GOOS=windows GOARCH=amd64

mac可以用

GOOS=darwin GOARCH=amd64

linux可以用

GOOS=linux GOARCH=amd64

如果是特殊的32位就用 386,arm还没试过,理论上支持,但并没有试过。

参考

golang的官网 The Go Programming Language , The Go Programming Language

golang的官方包 pkg.go.dev

golang快速入门 Go 语言教程 | 菜鸟教程

交叉编译 Building Go Applications for Different Operating Systems and Architectures | DigitalOcean

Cross Compiling

Go (Golang) GOOS and GOARCH · GitHub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值