Go 1.16 is released, Apple silicon M1 可以放心買啦

2021 年 2 月 16 日,春節(jié)假期的最后一天,Go 官方終于將 1.16 版本 released。
下面簡要介紹一下 1.16 版本最重要的一些特性:
核心庫加入了新的成員 - embed
package embed 可訪問正在運(yùn)行的 Go 程序中所嵌入的靜態(tài)文件。
使用 embed 可以使用 // go:embed 指令在編譯時(shí)從包目錄或子目錄讀取的文件的內(nèi)容并使用它們。
例如,以下三種方法可以嵌入名為 hello.txt 的文件,然后在運(yùn)行時(shí)打印其內(nèi)容。
將一個(gè)文件嵌入到字符串中
import?_?"embed"
//go:embed?hello.txt
var?s?string
print(s)
將一個(gè)文件嵌入 []byte
import?_?"embed"
//go:embed?hello.txt
var?b?[]byte
print(string(b))
將一個(gè)或多個(gè)文件嵌入到文件系統(tǒng)中
import?"embed"
//go:embed?hello.txt
var?f?embed.FS
data,?_?:=?f.ReadFile("hello.txt")
print(string(data))
這種將靜態(tài)文件在編譯時(shí)嵌入可執(zhí)行文件的方式,在極大地提高了 go 訪問靜態(tài)文件的靈活性的同時(shí),也能提高了敏感配置文件的安全性。更大膽一點(diǎn),是不是在前端領(lǐng)域,golang 也能插一腳了?
增加對 Apple silicon ARM 64 架構(gòu)的支持
Go 1.16 還添加了macOS ARM64 支持(也稱為Apple silicon)。自 Apple 宣布其新的 ARM64 架構(gòu)以來,go team 一直在與他們緊密合作以確保 Go 得到完全的支持。一直在 觀望 M1 的開發(fā)者這下可以放心去買新的 Mac 啦。
默認(rèn)開啟 Go modules
Go 1.16 默認(rèn)使用 Go modules。因?yàn)楦鶕?jù) go team 的 2020 Go 開發(fā)人員調(diào)查,現(xiàn)在有96%的 Go 開發(fā)人員已經(jīng)在使用 Go modules了。
其他的性能改善與提高
最后,還有許多其他改進(jìn)和 bug fix,比如構(gòu)建速度提高了25%,內(nèi)存使用量減少了15%。有關(guān)更改的完整列表以及有關(guān)上述改進(jìn)的更多信息,可以參考 Go 1.16 release notes (https://golang.org/doc/go1.16)。
以上就是 Go 1.16 為我們帶來的新特性,有開發(fā)者調(diào)侃到 “最大的特性就是離泛型的版本號更近了(狗頭)”哈哈哈。
官方資訊*最新技術(shù)*獨(dú)家解讀
