博主猫头虎()带您 Go to New World✨
博客首页——猫头虎的博客
《面试题大全专栏》 文章图文并茂生动形象简单易学!欢迎大家来踩踩~
《IDEA开发秘籍专栏》 学会IDEA常用操作,工作效率翻倍~
《100天精通Golang(基础入门篇)》 学会Golang语言,畅玩云原生,走遍大小厂~
猫头虎建议Go程序员必备技术栈一览表:
☁️
Go语言开发者必备技术栈☸️
:
GoLang | Git | Docker | ☸️ Kubernetes | CI/CD | ✅ Testing | SQL/NoSQL | gRPC | ☁️ Cloud | Prometheus | ELK Stack
希望本文能够给您带来一定的帮助文章粗浅,敬请批评指正!
原创作者: 猫头虎
作者wx: Libin9iOak
作者公众号: 猫头虎技术团队
猫头虎博主来了!今天我们深入探讨Go语言在ARM及其他非x86处理器上的支持和发展。随着ARM硬件在服务器、笔记本和开发者机器上的兴起,Go语言的跨平台特性显得尤为重要。让我们一探究竟!
Go语言自诞生以来,就注重在不同操作系统和架构上的可移植性。随着非x86处理器的流行,Go对这些平台的支持显得更为关键。本文将回顾Go在不同架构上的演进,并探讨其未来发展。
Go语言的首次开源发布就包括了对Linux和Mac OS X操作系统的支持,覆盖了64位x86、32位x86和32位ARM架构。这体现了Go语言从一开始就重视跨平台能力。
随着时间的推移,Go语言增加了对更多操作系统和架构组合的支持:
尽管在Go早期,x86-64架构获得了最多的关注,但今天我们的目标架构都得到了基于SSA编译器后端的良好支持,并产生了优秀的代码。我们得到了包括Amazon、ARM、Atos、IBM、Intel和MIPS等公司工程师的帮助。
Go语言支持对所有这些系统的跨编译,且努力极小。例如,要从64位Linux系统为32位x86的Windows构建应用:
GOARCH=386 GOOS=windows go
build myapp # writes myapp.exe
在过去的一年里,几个主要供应商宣布了新的ARM64硬件,包括服务器、笔记本和开发者机器。Go为此做好了充分准备。多年来,Go一直在ARM64 Linux服务器上驱动Docker、Kubernetes以及其它Go生态系统,同时也支持ARM64 Android和iOS设备上的移动应用。
自从苹果宣布Mac转向Apple Silicon以来,苹果和谷歌一直在合作,确保Go及更广泛的Go生态系统在它们上运行良好,无论是运行Go x86二进制文件,还是运行原生的Go ARM64二进制文件。本周早些时候,我们发布了首个Go 1.16 beta版本,其中包括对搭载M1芯片的Mac的原生支持。你可以在Go下载页面上下载并尝试Go 1.16 beta版。
我们下一个想要增加支持的目标是ARM64 Windows 10系统。如果你有专业知识并愿意帮忙,我们正在golang.org/issue/36439上协调工作。
要点 | 说明 |
---|---|
Go语言的跨平台性 | 从最初就支持多种操作系统和架构 |
架构支持的发展 | 随着版本更新,Go增加了对多个新系统和架构的支持 |
编译器后端和社区支持 | 优秀的SSA编译器后端和社区贡献推动了Go在多种架构上的发展 |
跨编译 | Go支持简单的跨编译,便于开发者在不同平台间进行应用构建 |
对ARM64的支持 | Go对ARM64硬件的支持为其在多样化的硬件平台上的应用提供了坚实基础 |
未来展望 | Go团队计划支持ARM64 Windows 10系统,并邀请社区参与 |
这篇文章已被猫头虎的Go生态洞察专栏收录,详情点击这里。
下一篇文章将是“对Go增加泛型的提议”,我们将探讨Go语言中引入泛型的可能性及其潜在影响。敬请期待!
======= ·
原创作者: 猫头虎
作者wx: Libin9iOak
作者公众号: 猫头虎技术团队
学习 | 复习 | Go生态 |
---|---|---|
✔ | ✔ | ✔ |
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。
点击
下方名片
,加入IT技术核心学习团队。一起探索科技的未来,洞察Go生态,共同成长。