日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go channel 缓冲区最大限制_Go语言11周年,泛型问题有望明年得到解决

發布時間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go channel 缓冲区最大限制_Go语言11周年,泛型问题有望明年得到解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者 | 田曉旭、萬佳 近日,Go 團隊發布長篇博文慶祝 Go 語言開源 11 周年。

Go 團隊在博文寫道,“回想 Go 語言十周年慶典恍如隔世。雖然 2020 年有諸多艱難,但我們一直在推動 Go 語言的發展,其中有不少值得回憶的美好瞬間。”

1 Go 語言 2020 年的重大進展

2 月——Go 1.14 版本帶來 Go 模塊的首個“生產就緒”實現,同時迎來一系列性能改進,包括用于減少調度并降低垃圾收集延遲的更快推遲速度及非合作 goroutine 搶占。

3 月——推出了新的協議緩沖區 API,它大大提高了對協議緩沖區反射及自定義消息的支持能力。

5 月——開發團隊啟動了用 Go 編寫的參考后端服務器。

博文寫道,“我們繼續改進 gopls,借此在多種編輯器中實現了對高級 Go 感知功能的支持。”

6 月——VSCode Go 擴展正式加入 Go 項目,目前由負責 gopls 的同一位開發者進行維護。同樣在這個月,Go 團隊對 pkg.go.dev 代碼進行開源,并將其作為 Go 項目的組成部分。6 月下旬,團隊發布了關于泛型的最新設計草案。

7 月——Go 團隊發布并討論了三套新的設計草案以供后續修改:new //go:build lines for file selection、 file system interfaces 和 build-time file embedding。

8 月——Go 1.15 版本主要提供優化與 bug 修復。最重要的是,Go 團隊開始重寫鏈接器,使其運行速度提高了 20%,并且在大型構建作業中的平均內存占用量降低了 30%。

2 2021 年 Go 語言發布計劃

2021.2——Go 1.16 將包含新的文件系統接口與 build-time 文件嵌入。新版本還將完成對鏈接器的重寫,借此帶來更可觀的性能改進。1.16 版本也將提供對采用新一代蘋果芯片(GOARCH = arm64)的 Mac 設備的支持。

2021.8——Go 1.17 將帶來更多功能與改進,但目前還無法確定太多細節。根據計劃,1.17 版本將提供一項針對 x86-64、基于寄存器的新型調用約定(不影響現有指令集!),使得程序的整個運行流程變得更快。(其他架構將在未來的版本中發布。)

此外該版本還將包含新的 //go:build 行,出錯幾率比現有 //+build 行更低。最后,Go 團隊還希望能在明年對另一項備受期待的功能完成 Beta 測試,即支持 gotest 命令中的模糊測試。

3 Go 模塊

明年,Go 團隊將繼續致力于開發對 Go 模塊的支持,并更好地將其集成到整個 Go 生態系統中。Go 1.16 將包含迄今為止最為流暢的 Go 模塊體驗。據悉,當前有 96% 的用戶已經使用 Go 模塊。

Go 團隊還將終止對基于 GOPATH 開發工作的支持。未來,使用標準庫以外任何其他依賴項的程序,都需要配合 go.mod。

最初,Go 模塊的目標就是“將軟件包版本的概念融入 Go 開發者與我們工具的日常場景當中”,借此為整個 Go 生態系統中的模塊及版本提供深度支持。事實上,Go 模塊的鏡像、校驗數據庫以及索引在實現過程中也充分考慮到整個生態系統范圍內的軟件包版本。明年,Go 團隊將在工具與系統中推出更多豐富的模塊支持選項。

并且,Go 團隊還創建了 gopls 以減少以往編輯器在支持 Go 時需要使用的多種工具。這類工具絕大多數不支持模塊,因此必須加以替換。明年,Go 團隊將著手在 VSCode Go 擴展中默認使用 gopls,同時發布 gopls1.0,希望為大家帶來出色的模塊體驗。Gopls 的一大優勢在于,其具備編輯器中立性:任何能夠理解該語言服務器協議的編輯器都可以正常使用。

版本信息的另一個重要用途,在于跟蹤 build 中的各軟件包是否存在已知漏洞。明年,Go 團隊計劃開發一套已知漏洞數據庫,外加與之配套的漏洞檢查工具。

Go 軟件包發現站點 pkg.go.dev 也將在 Go 模塊的支持下獲得版本感知功能。

此外,Go 團隊明年還會將 godoc.org 統一進 pkg.go.dev 當中。并且,還將擴展各軟件包的版本時間表,列出各個版本的重要變更及已知漏洞等,希望能夠以總體目標為基礎幫助大家更明智地選擇適合添加的依賴項。

“我們高興地看到從 GOPATH 到 GO 模塊的遷移之旅即將完成,而 Go 模塊也開始推出一系列強大的依賴項感知工具。”博文寫道。

4 泛型

根據 Go 語言社區發布的 2019 年度調查報告表明,79% 的受訪者認為泛型是 Go 缺失的關鍵特性。缺少泛型和模塊 / 包管理器使用是受訪者面臨的最大挑戰。而這一問題有望在 2021 年得到緩解。

在今年 6 月,Go 團隊發布了關于泛型的最新設計草案,此后一直在完善相關工作,并將注意力轉移到生產就緒版本的實現身上。

Go 團隊稱,“我們將在 2021 年年內繼續努力,力爭在年底前為大家帶來一些可供試用的成果,也許會以 Go 1.18 beta 的形式發布。”

5 ”加速奔跑“的 Go 語言

Go 語言的創始人之一 Rob Pike 在 2017 年的一篇文章《Go: Ten years and climbing》中,他回顧了 Go 語言的發展歷程。文章提到,Go 語言這十年的迅猛發展竟如此之快,讓他們自己都沒想到。

更重要的是,Go 語言成為了云計算領域新一代的開發語言。并且,隨著云原生的興起和發展,Go 語言幾乎占據了絕對的主流地位。無論是 Docker、Kubernetes,還是 Istio 和 Prometheus 等,都是用 Go 語言開發的。

Go 語言也受到海內外互聯網大公司的熱捧,像 Youtube、Uber 等使用 Go 作為自己的主力開發語言進行業務的迭代。在國內,今日頭條、阿里巴巴、美團、B 站等知名公司,都在大量使用 Go 語言來重構部分甚至全部業務。而在游戲后端領域也有大量的公司在使用 Go 語言進行研發。

左耳朵耗子在《左耳聽風》中談了談對 Go 語言的體會:

第一,語言簡單,上手快。Go 語言的語法特性簡直是太簡單了,簡單到你幾乎玩不出什么花招,直來直去的,學習難度很低,容易上手。

第二,并行和異步編程幾乎無痛點。Go 語言的 Goroutine 和 Channel 這兩個神器簡直就是并發和異步編程的巨大福音。像 C、C++、Java、Python 和 JavaScript 這些語言的并發和異步的編程方式控制起來就比較復雜了,并且容易出錯,但 Go 語言卻用非常優雅和流暢的方式解決了這個問題。這對于編程多年受盡并發和異步折磨的我來說,完全就是眼前一亮的感覺。

第三,Go 語言的 lib 庫“麻雀雖小,五臟俱全”。Go 語言的 lib 庫中基本上有絕大多數常用的庫,雖然有些庫還不是很好,但我覺得這都不是主要問題,因為隨著技術的發展和成熟,這些問題肯定也都會隨之解決。

第四,C 語言的理念和 Python 的姿態。C 語言的理念是信任程序員,保持語言的小巧,不屏蔽底層且對底層友好,關注語言的執行效率和性能。而 Python 的姿態是用盡量少的代碼完成盡量多的事。于是我能夠感覺到,Go 語言是想要把 C 和 Python 統一起來,這是多棒的一件事。

當然,Go 語言也存在諸多的問題,比如垃圾回收、異常處理、泛型編程等。

不過,我們相信 Go 團隊和社區未來也會逐步解決這些問題。

今日文章推薦:

值得推薦的13個 Jenkins 替代方案

點個在看少個 bug ?

總結

以上是生活随笔為你收集整理的go channel 缓冲区最大限制_Go语言11周年,泛型问题有望明年得到解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。