成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

回歸現實:Go Leader 對 1.18 泛型的期望

開發 后端
如果不出現嚴重的問題,Go 1.18 將會包括對泛型的支持,并且這次泛型的支持將會是有史以來最大的一次語言變化。

[[432412]]

大家好,我是煎魚。

前段時間根據 Go 泛型的最新動態,我寫了一篇《出泛型后 API 怎么辦?Go 開發者要注意了》文章,引發了不少小伙伴的熱議。

Go 核心開發團隊的現任 Leader @Russ Cox 在 golang-dev 中正式發表《expectations for generics in Go 1.18》對 Go 泛型給出了 “期待”,其實大家可以認為是后續泛型的配套迭代計劃了。

如果不出現嚴重的問題,Go 1.18 將會包括對泛型的支持,并且這次泛型的支持將會是有史以來最大的一次語言變化。

對以下幾點有顧慮:

  • 最佳實踐.
  • 生產經驗
  • 兼容性承諾。

接下來,煎魚帶大家一起了解 Russ Cox 發表的 Go 泛型進程,知悉官方一手消息。

最佳實踐

Go 團隊表示不知道使用泛型的最佳實踐是什么,所以給出的官方文檔將無法就何時使用泛型和何時不使用泛型給出精確、明確的答案,只可以給出粗略的指導。

此處可以參考《Effective Go》的最初版本,是在不間斷地寫了一整年的 Go 代碼后,才正式輸出的。

按照現有的計劃,官方只會提供關于如何使用泛型的文檔,暫時無法提供任何關于風格、最佳實踐的規定性文檔。

在提供的標準庫上,先是已經通過提案的 maps 和 slices庫會先放到 golang.org/x/exp 中作為實驗,不會保證向后兼容。待成熟后,再推廣到標準庫中。

可以明確,Go 泛型出來后,社區就會陸續開始百花齊放,接著有官方輸出推薦方法了,歷史是如此的相似。

生產經驗

目前 Go 團隊沒有關于泛型的生產經驗,因此會在文檔中給出明確提示,讓大家在生產中使用泛型的時候應該適當謹慎。

泛型出來后,會陸續涉及到大量的重寫工作,但是由于現在處于中間階段。正在重寫的 Go 1.18 工具鏈去同時適配泛型、非泛型代碼是需要時間和經驗的,有一定的風險。

因此泛型出來后,可能會出現一些意想不到的問題,僅在生產發現(教訓)。

兼容性承諾

Go1.18 會和其他 Go1.x 版本一樣,保證向后兼容的承諾:不會破壞用 Go 1.18 構建的代碼,包括使用泛型的代碼。

如果是最壞的情況,如果發現 Go 1.18 的語義有一些致命的問題,并需要改變它們(例如:在Go 1.19 中)。

將會使用 go.mod 文件的 go 行來確定該模塊中的源文件是期待 Go 1.18 還是 Go 1.19+ 語義,以此實現版本控制。但目前來看,不需要這樣做。

也建議急于使用 Go 泛型的開源庫作者,做好泛型和非泛型版本代表的支持和隔離,這樣對用戶會更加的友好。

總結

可以明確的是,Go 泛型的整體推進方案,在這篇文章中均已說明。Go 官方團隊也與許多第三方工具的作者進行溝通。

第三方工具可能不會在 Go 1.18 發布時就完全支持泛型,這會由各作者自行根據自己的時間表來更新。

煎魚猜測推進節奏就是:

  • 支持泛型語法。
  • 觀察。
  • 推進標準/工具庫。
  • 逐步替換。
  • 修 BUG。
  • 觀察、優化
  • 生產可用。

 

大概需要 2~3 個 Go 版本,需要 1~2 年,Go 泛型的各類配套組件就會基本完善,可用,轉為持續優化了。

 

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2021-10-29 10:55:07

Go 泛型語言

2021-12-15 10:23:56

Go 1.18 Bet語言泛型

2021-12-28 07:20:44

泛型Go場景

2022-07-12 06:17:43

GoogleGolang開發工作

2021-10-18 10:53:26

Go 代碼技術

2021-12-15 12:59:56

Go泛型版Beta1

2021-09-29 18:17:30

Go泛型語言

2023-11-29 08:19:45

Go泛型缺陷

2024-10-28 00:40:49

Go語法版本

2022-03-18 18:00:00

編程語言泛型支持模糊測試

2022-04-15 09:55:59

Go 泛型Go 程序函數

2021-11-27 22:20:13

SlicesGo泛型

2023-11-03 14:02:04

Go切片泛型庫

2022-03-28 13:34:26

Go泛型部署泛型

2022-02-25 10:59:18

AWSGORust

2021-12-03 18:29:31

GoAny 泛型

2020-11-24 13:05:35

Go語言泛型

2021-12-05 23:45:23

Go泛型Maps

2022-01-05 07:07:37

Go核心設計

2021-12-02 18:21:49

GoIP 包設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品a | 亚洲品质自拍视频网站 | 一区二区精品 | a在线观看| 免费看国产一级特黄aaaa大片 | 亚洲精品视频免费看 | 午夜免费在线观看 | 一区二区在线 | 成人免费观看男女羞羞视频 | 国产乱人伦 | 国产精品视频入口 | 无码一区二区三区视频 | 日韩久草 | 亚洲国产精品区 | 色婷婷综合久久久中字幕精品久久 | 性生活毛片 | 久久另类视频 | 国产成人99 | 黄色在线免费观看 | 99久热| 欧美xxxx色视频在线观看免费 | 欧美日本在线 | 亚洲人成网亚洲欧洲无码 | 999精品视频 | 亚洲网址在线观看 | 欧美日韩国产在线观看 | 国产91在线播放 | 国产女人与拘做受视频 | 欧美日韩精品一区二区三区四区 | 精品一区免费 | 亚洲欧美日韩精品久久亚洲区 | 国产成人福利 | 狠狠干av | 久草中文在线 | 二区在线观看 | 成年精品 | 性一区| 久久久亚洲一区 | 亚洲精品久久久久久首妖 | 综合色站导航 | 午夜三区 |