Go語言11歲了,網(wǎng)友:他喵的,終于確定出「泛型」了
「艱難的一年,依舊保持開發(fā)的步伐」這就是作者Russ Cox在博客開篇,對這一年來的工作做出的總結。
金磊 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
比Python更快,比Java更簡潔,還有C++沒有的GC(垃圾收集)。
谷歌開發(fā)的編程語言Go,迎來了它11歲的生日!
那么在這一年的時間里,Go經(jīng)歷了怎樣的變化?接下來又該如何發(fā)展?
為此,Go語言官方網(wǎng)站專門發(fā)布了文章Eleven Years of Go。
除了表示慶祝之外,也對上述的問題做了一一解答。
「艱難的一年,依舊保持開發(fā)的步伐」
這就是作者Russ Cox在博客開篇,對這一年來的工作做出的總結。此外還說道:
不僅如此,還積累了許多亮點。
首先,在去年11月,也就是Go十歲生日不久后,便推出了go.dev和pkg.go.dev。
到了今年2月份,Go 1.14版本發(fā)布了第一個正式「生產(chǎn)就緒 」(production-ready)的Go模塊實現(xiàn)。
與此同時,還進行了許多性能上的改進,包括「更快的defer」和真正「搶占式的goroutine調(diào)度」,目的就是為了減少調(diào)度和垃圾收集延遲。
3月初,Go推出了一個用于協(xié)議緩沖的新API,google.golang.org/protobuf,對protobuf reflection和自定義消息的支持,有了大幅度的改善。
當然,新冠疫情在全球的爆發(fā),對于Go的開發(fā)團隊也帶來了一定沖擊。
于是,團隊決定暫停春季的所有公開發(fā)布或活動。
但期間,Go團隊還在繼續(xù)改進gopls,這讓許多編輯器受益,并都啟用了高級Go-aware支持。
到了6月份,Go團隊開發(fā)的火力暴增:
- VSCode Go擴展正式加入Go項目,現(xiàn)在由從事gopls的同一位開發(fā)人員維護。
- 根據(jù)來自社區(qū)的反饋,將pkg.o o.dev背后的代碼進行了開源,用來作為Go項目的一部分。
- 月底,團隊發(fā)布了「泛型」(Go generics)的最新設計草案,以及原型工具和「泛型」實驗語法的playground。
7月份,Go團隊為了應對未來的變化,討論并發(fā)布了三種新的設計草案,分別是go:build、文件系統(tǒng)接口、構建時文件嵌入。
在博客中,團隊為此還說道:將在2021年看到所有新特性。
到了8月份,便迎來了Go 1.15版本,但這個版本主要目的是修復bug,并沒有過多的新特性。
其中,比較重要的內(nèi)容就是「重寫鏈接器」,這就讓Go在構建大型項目時,平均運行速度提高了20%,平均使用的內(nèi)存減少了30%。
除了開發(fā)方面的工作外,維護用戶、開發(fā)者也是必不可少的。
10月份,團隊對Go用戶進行了一年一度的調(diào)研,并表示分析結果一旦出爐,便會在官網(wǎng)上進行公示。
Go語言的下一步
正所謂「回顧過去,展望未來」。
Go團隊對于即將到來的2021年,也是充滿了期待:
我們對Go的第十二個年頭感到非常興奮。
并列出即將在GopherCon 2020上展示的8個項目(感興趣的讀者可詳讀文末參考鏈接)。
但Go團隊也「毫無隱藏」的公布了明年2大重要發(fā)布計劃。
2021年2月,將發(fā)布Go 1.16版本。
據(jù)介紹,這個版本將包含新的文件系統(tǒng)接口和構建時文件嵌入。
它將完成鏈接器的重寫,從而帶來更多的性能改進,包括對剛剛發(fā)布的新蘋果Mac的支持。
2021年8月,將發(fā)布Go 1.17版本。
團隊對此表示,「盡管細節(jié)尚未決定下來,但毫無疑問,會帶來更多的功能和改進」。
但在博客中也稍微透露了一些內(nèi)容。
例如,將包括一個針對x86-64新的基于寄存器的調(diào)用約定(不破壞現(xiàn)有程序集),這將使程序整體更快。
除了版本的計劃之外,團隊還在博客中介紹了Go Module和Go generics的相關信息。
關于Go Module:
我們將繼續(xù)致力于開發(fā)對Go module的支持,并將其很好地集成到整個Go生態(tài)系統(tǒng)中。
Go 1.16將包括我們迄今為止最流暢的Go module體驗。
關于Go generics:
每個人心中的下一個功能特性當然是「泛型」(generics)。
我們將在2021年中繼續(xù)努力,希望在年底之前為人們提供一些試用的目標。
或許,它會成為Go 1.18 beta中的一部分。
對此,網(wǎng)友們似乎對「泛型」的發(fā)布計劃十分感興趣,并表示:
也有網(wǎng)友對「泛型」可能在1.18版本才會出現(xiàn)表示遺憾:
當然,也有對Go發(fā)展速度表示「擠牙膏」的……
那么,這樣的Go語言,你怎么看?
參考鏈接:
https://blog.golang.org/11years
- 商湯林達華萬字長文回答AGI:4層破壁,3大挑戰(zhàn)2025-08-12
- 商湯多模態(tài)大模型賦能鐵路勘察設計,讓70年經(jīng)驗“活”起來2025-08-13
- 以“具身智能基座”為核,睿爾曼攜全產(chǎn)品矩陣及新品亮相2025 WRC2025-08-11
- 哇塞,今天北京被機器人人人人人塞滿了!2025-08-08