Go開(kāi)源13周年,今年獲有史以來(lái)最大改變
Go 語(yǔ)言開(kāi)發(fā)團(tuán)隊(duì)技術(shù) leader Russ Cox 在博客中慶祝 Go 開(kāi)源 13 周年。2009 年 11 月 10 日,Go 作為開(kāi)源項(xiàng)目正式宣布推出,目前已開(kāi)源 13 周年。

對(duì)于 Go 來(lái)說(shuō),2022 是非常重要的一年,這一年 Go 發(fā)布了 Go 1.18 和 Go 1.19 版本,下面回顧一下今年 Go 發(fā)布的新功能:
Go 1.18 為語(yǔ)言本身帶來(lái)了一項(xiàng)重大功能:泛型,其次還有 Go 工作區(qū)、模糊測(cè)試等重要功能。
泛型是社區(qū)呼聲最大的特性,也是今年 Go 最重大的特性,它為 Go 添加了參數(shù)多態(tài)性,以允許編寫適用于各種不同類型但仍在編譯時(shí)進(jìn)行靜態(tài)檢查的代碼。
要了解有關(guān)泛型的更多信息,請(qǐng)參閱教程 “泛型入門”:https://go.dev/doc/tutorial/generics
Fuzzing (模糊測(cè)試),是一種自動(dòng)化測(cè)試技術(shù)。它隨機(jī)生成測(cè)試數(shù)據(jù),來(lái)驗(yàn)證代碼的功能是否可用。比如先定義一個(gè)可通過(guò)任何輸入的 fuzz 測(cè)試,接著嘗試不同的隨機(jī)輸入,嘗試使該模糊測(cè)試失敗。
了解有關(guān) fuzzing 的更多信息,請(qǐng)參閱教程 “開(kāi)始使用 fuzzing ”(https://go.dev/doc/tutorial/fuzz) 和 fuzzing 參考(https://go.dev/security/fuzz/) 。
Go 工作空間功能,使同時(shí)處理多個(gè)模塊變得容易,在維護(hù)一組具有模塊依賴關(guān)系的相關(guān)模塊時(shí)非常有用。
要了解工作空間,請(qǐng)參閱 Beth Brown 的博客文章 “熟悉工作空間” (https://go.dev/blog/get-familiar-with-workspaces)和工作空間參考(https://go.dev/ref/mod#workspaces)。
與 Go 1.18 相比,Go 1.19 版本相對(duì)平靜:它專注于完善和改進(jìn) Go 1.18 引入的功能,以及內(nèi)部穩(wěn)定性改進(jìn)和優(yōu)化,較為重要的:
在 Go 文檔注釋中增加了對(duì)鏈接、列表和標(biāo)題的支持。
為垃圾收集器添加了軟內(nèi)存限制 ,這在容器工作負(fù)載中特別有用。
此外, Go 團(tuán)隊(duì)今年還發(fā)布了 VS Code Go 擴(kuò)展,為 VS Code 編輯器的 Go 代碼提供了豐富的語(yǔ)言支持。Gopls 語(yǔ)言服務(wù)器也得到了性能優(yōu)化。
在安全方面,Go 有一個(gè)新的的漏洞數(shù)據(jù)庫(kù)和一個(gè)新的 govulncheck 命令,讓 Go 開(kāi)發(fā)者能夠了解可能影響其項(xiàng)目的已知漏洞。
在 Go 的第 14 個(gè)年頭,Russ 表示團(tuán)隊(duì)將繼續(xù)努力,使 Go 成為大規(guī)模軟件工程的最佳環(huán)境。目前的計(jì)劃是特別關(guān)注供應(yīng)鏈安全、改進(jìn)的兼容性和結(jié)構(gòu)化日志記錄,此外還會(huì)有其他改進(jìn),包括配置文件引導(dǎo)優(yōu)化等。
相關(guān)鏈接:https://go.dev/blog/13years
來(lái)源:oschina2013
(版權(quán)歸原作者所有,侵刪)

