Go 1.16 Beta1 發(fā)布了:你的 M1 可以安裝原生 Go 了
我是一只可愛的土撥鼠,專注于分享 Go 職場、招聘和求職,解 Gopher 之憂!歡迎關(guān)注我。
北京時(shí)間 18 日凌晨,Go 官方發(fā)布了 Go 1.16 Beta1。之前看到有一些文章較大家怎么在 M1 上安裝 Go,現(xiàn)在 Go1.16 Beta1 發(fā)布了,那些方法都不需要了,直接安裝官方預(yù)編譯好的 Go 1.16 Beta1 即可。具體可以訪問該鏈接:https://golang.google.cn/dl/#unstable,下載下圖紅框的包。

隨著 Go1.16 Beta1 版本的發(fā)布,該版本的功能已經(jīng)完全確認(rèn),Release Notes 也基本完成了,可以通過該鏈接查看:https://tip.golang.org/doc/go1.16。
同時(shí),因?yàn)樵摪姹驹黾恿?Mac 的 ARM64 架構(gòu)支持,Russ Cox 在官博上發(fā)表了一篇文章《Go on ARM and Beyond》[1],文章提到,因?yàn)?Apple M1 的原因,最近業(yè)界討論非 x86 處理器比較多,因此官方認(rèn)為有必要介紹下 Go 對非 x86 處理器的支持,因?yàn)?Go 在這方面一直做得很不錯(cuò),Go 很注重可移植性。
Go 最初的開源版本包括對兩個(gè)操作系統(tǒng)(Linux 和 Mac OS X)和三種架構(gòu)(64 位 x86、32 位 x86 和 32 位 ARM)的支持。
經(jīng)過這些年的發(fā)展,Go 已經(jīng)增加了對更多操作系統(tǒng)和架構(gòu)組合的支持:
Go 1(2012 年 3 月)在 64 位和 32 位 x86 上支持基本系統(tǒng)(Windows、Linux 和 Mac OS)以及 FreeBSD、 NetBSD 和 OpenBSD 等類 Unix 系統(tǒng),在 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 增加了官方的二進(jìn)制下載,主要用于 Raspberry Pi 系統(tǒng); 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 增加了官方的二進(jìn)制下載; Go 1.9(2017 年 8 月)在 64 位 ARM 上為 Linux 增加了官方的二進(jìn)制下載; Go 1.12(2018 年 2 月)在 32 位 ARM 上增加了對 Windows 10 物聯(lián)網(wǎng)核心的支持,比如 Raspberry Pi 3。它還在 64 位 PowerPC 上增加了對 AIX 的支持; Go 1.14(2019 年 2 月)在 64 位 ric-v 上增加了對 Linux 的支持;
盡管 x86-64 在 Go 的早期得到了最多的關(guān)注,但是現(xiàn)在所有的目標(biāo)體系結(jié)構(gòu)都得到了基于 ssa 的編譯器后端的良好支持,并產(chǎn)生了優(yōu)秀的代碼。一路走來,Go 得到了許多貢獻(xiàn)者的幫助,包括來自亞馬遜、 ARM、 Atos、 IBM、英特爾和 MIPS 的工程師。
Go 支持對所有這些系統(tǒng)進(jìn)行交叉編譯,只需極少的工作量。例如,要在 64 位 Linux 系統(tǒng)上為基于 32 位 x86 的 Windows 構(gòu)建一個(gè)應(yīng)用程序:
GOARCH=386?GOOS=windows?go?build?myapp??#?writes?myapp.exe
現(xiàn)在(Go 1.16)在 64 位 ARM 上增加了對 Mac OS 的支持。通過,官方計(jì)劃在 64 位 ARM 上增加了對 Windows 10 的支持,如果你有專業(yè)知識并且愿意提供幫助,可以查看 issue:https://github.com/golang/go/issues/36439。
閱讀原文可以直達(dá)官方博文,查看詳細(xì)信息。
參考資料
《Go on ARM and Beyond》: https://docs.studygolang.com/blog/ports
推薦閱讀
歡迎搜索或掃碼關(guān)注我!
