北京时间 18 日凌晨,Go 官方发布了 Go 1.16 Beta1。之前看到有一些文章较大家怎么在 M1 上安装 Go,现在 Go1.16 Beta1 发布了,那些方法都不需要了,直接安装官方预编译好的 Go 1.16 Beta1 即可。具体可以访问该链接:<https://golang.google.cn/dl/#unstable>,下载下图红框的包。
![go1.16-dl.png](https://static.studygolang.com/201218/37f975d2722aaaee1f2e2e3a2a40f5e7.png)
随着 Go1.16 Beta1 版本的发布,该版本的功能已经完全确认,Release Notes 也基本完成了,可以通过该链接查看:<https://tip.golang.org/doc/go1.16>。
同时,因为该版本增加了 Mac 的 ARM64 架构支持,Russ Cox 在官博上发表了一篇文章[《Go on ARM and Beyond》](https://docs.studygolang.com/blog/ports),文章提到,因为 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 构建一个应用程序:
```bash
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>。
本文首发于微信公众号《Go招聘》,主要分享 Go 语言相关求职、招聘和面试等,欢迎关注。
![gojob-qrcode.jpg](https://static.studygolang.com/201218/e85dc83de553568ff34f640606f91cf4.jpg)
有疑问加站长微信联系(非本文作者)