Go 1.16 Beta1 发布了:你的 M1 可以安装原生 Go 了

Go语言精选

共 2103字,需浏览 5分钟

 ·

2020-12-22 13:57

我是一只可爱的土拨鼠,专注于分享 Go 职场、招聘和求职,解 Gopher 之忧!欢迎关注我。

北京时间 18 日凌晨,Go 官方发布了 Go 1.16 Beta1。之前看到有一些文章较大家怎么在 M1 上安装 Go,现在 Go1.16 Beta1 发布了,那些方法都不需要了,直接安装官方预编译好的 Go 1.16 Beta1 即可。具体可以访问该链接:https://golang.google.cn/dl/#unstable,下载下图红框的包。

随着 Go1.16 Beta1 版本的发布,该版本的功能已经完全确认,Release Notes 也基本完成了,可以通过该链接查看:https://tip.golang.org/doc/go1.16。

同时,因为该版本增加了 Mac 的 ARM64 架构支持,Russ Cox 在官博上发表了一篇文章《Go on ARM and Beyond》[1],文章提到,因为 Apple M1 的原因,最近业界讨论非 x86 处理器比较多,因此官方认为有必要介绍下 Go 对非 x86 处理器的支持,因为 Go 在这方面一直做得很不错,Go 很注重可移植性。

Go 最初的开源版本包括对两个操作系统(Linux 和 Mac OS X)和三种架构(64 位 x86、32 位 x86 和 32 位 ARM)的支持。

经过这些年的发展,Go 已经增加了对更多操作系统和架构组合的支持:

  • Go 1(2012 年 3 月)在 64 位和 32 位 x86 上支持基本系统(Windows、Linux 和 Mac OS)以及 FreeBSD、 NetBSD 和 OpenBSD 等类 Unix 系统,在 32 位 x86 上支持 Plan 9;
  • Go 1.3(2014 年 6 月)在 64 位 x86 上增加了对 Solaris 的支持;
  • Go 1.4(2014 年 12 月)增加了对 32 位 ARM 上的 Android 和 64 位 x86 上的 Plan 9 的支持;
  • Go 1.5(2015 年 8 月)增加了对 64 位 ARM 和 64 位 PowerPC 上的 Linux 支持,以及 32 位和 64 位 ARM 上的 iOS 支持;
  • Go 1.6(2016 年 2 月)在 64 位 MIPS 上增加了对 Linux 的支持,在 32 位 x86 上增加了对 Android 的支持。它还在 32 位 ARM 上为 Linux 增加了官方的二进制下载,主要用于 Raspberry Pi 系统;
  • Go 1.7(2016 年 8 月)增加了对 Linux on z Systems (S390x)和 Plan 9 对 32 位 ARM 的支持;
  • Go 1.8(2017 年 2 月)在 32 位 MIPS 上增加了对 Linux 的支持,并在 64 位 PowerPC 和 z Systems 上为 Linux 增加了官方的二进制下载;
  • Go 1.9(2017 年 8 月)在 64 位 ARM 上为 Linux 增加了官方的二进制下载;
  • Go 1.12(2018 年 2 月)在 32 位 ARM 上增加了对 Windows 10 物联网核心的支持,比如 Raspberry Pi 3。它还在 64 位 PowerPC 上增加了对 AIX 的支持;
  • Go 1.14(2019 年 2 月)在 64 位 ric-v 上增加了对 Linux 的支持;

尽管 x86-64 在 Go 的早期得到了最多的关注,但是现在所有的目标体系结构都得到了基于 ssa 的编译器后端的良好支持,并产生了优秀的代码。一路走来,Go 得到了许多贡献者的帮助,包括来自亚马逊、 ARM、 Atos、 IBM、英特尔和 MIPS 的工程师。

Go 支持对所有这些系统进行交叉编译,只需极少的工作量。例如,要在 64 位 Linux 系统上为基于 32 位 x86 的 Windows 构建一个应用程序:

GOARCH=386 GOOS=windows go build myapp  # writes myapp.exe

现在(Go 1.16)在 64 位 ARM 上增加了对 Mac OS 的支持。通过,官方计划在 64 位 ARM 上增加了对 Windows 10 的支持,如果你有专业知识并且愿意提供帮助,可以查看 issue:https://github.com/golang/go/issues/36439。

阅读原文可以直达官方博文,查看详细信息。

参考资料

[1]

《Go on ARM and Beyond》: https://docs.studygolang.com/blog/ports





推荐阅读


欢迎搜索或扫码关注我!

浏览 77
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报