自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

醒醒吧,未來不會有 Go2 了!

開發(fā) 前端
使用 Go 工程中的 go.mod 文件內(nèi)的 go 版本號來控制編譯的選擇,決定各個(gè)庫在不同 Go 版本下以不同的表現(xiàn)來應(yīng)用其特性,將會影響編譯時(shí)的決定。

大家好,我是煎魚。

本周末在學(xué)習(xí)的時(shí)候,看到 Go 團(tuán)隊(duì)大當(dāng)家 Russ Cox(下稱:rsc)在近期分享的《GopherCon 2022: Russ Cox - Compatibility: How Go Programs Keep Working[1]》,講的是 Go 在兼容性方面的現(xiàn)有問題和思考,還埋了個(gè)新預(yù)期。

如下圖:

圖片

他提出了一個(gè)新的 Slogan:“Go is boring, and that's good.(Go 很無聊,這很好)”,原因在于無聊代表穩(wěn)定的。無聊意味著你能夠?qū)W⒂谀愕墓ぷ?,而不是我們的工作?/p>

圖片

核心來講,Go 團(tuán)隊(duì)希望 Go 足夠簡潔,Gopher 不要整天卷 Go 的各種奇思妙計(jì),要把精力都關(guān)注到自己的工作上,不要關(guān)注他們。

我一開始聽起來多少有點(diǎn)道理和自己的想法,聽著聽著這個(gè)車就剎不住了。

在最后的最后,rsc 冷不丁的正式官宣:不會有 Go2 了,會一直保持 Go1,將會加倍投入對 Go1 兼容性的建設(shè),這將非常有價(jià)值。

如下圖:

圖片

當(dāng)然,他也講了,狹義里的 Go2 可能已經(jīng)發(fā)生了,只是慢慢轉(zhuǎn)為了 Go1 的新特性融入到了 Go 之中。(我很想說,版本號也還是 Go1,好一個(gè)意識...)

最重要的,那些沒法兼容的 “新” 東西怎么辦?大方向的大招已經(jīng)在前文《??加大力度!Go 將會增強(qiáng) Go1 向后兼容性??》有介紹過。

核心之一:使用 Go 工程中的 go.mod 文件內(nèi)的 go 版本號來控制編譯的選擇,決定各個(gè)庫在不同 Go 版本下以不同的表現(xiàn)來應(yīng)用其特性,將會影響編譯時(shí)的決定。

如下圖:

圖片

  • 主模塊(main module):聲明 go 版本是 1.19,他可以使用泛型和帶下劃線的數(shù)字。
  • 模塊 A v1.0.0:聲明 go 版本是 1.17,模塊 A 里的包不可以使用泛型(1.18 才開始支持),帶下劃線的數(shù)字可以正常使用。
  • 模塊 B v1.2.1:聲明 go 版本是 1.12,兩者都不能用。

在上述說明中,主模塊、模塊 A、模塊 B,分別根據(jù) go.mod 內(nèi)的 go 版本號,應(yīng)用到了不同的可用特性(有的可以用泛型,有的不可以用帶下劃線的數(shù)字,有的都不能用等)。

這本質(zhì)是結(jié)合 Go modules 原本的依賴管理邏輯,再復(fù)用 go.mod 的 go 版本號給不同版本的不同特性來做好編譯的控制邏輯。

未來將不會有 Go2,都會是 Go1.x。

已經(jīng)找到能往里各種塞的姿勢了。

責(zé)任編輯:武曉燕 來源: 腦子進(jìn)煎魚了
相關(guān)推薦

2023-08-29 08:55:45

Go1Go核心

2009-04-17 15:24:20

人生撤銷耍賴

2021-01-06 09:51:19

類加載器雙親委派模型

2019-04-30 11:40:12

人工智能AI吳軍

2011-02-13 10:00:57

IE 9 RC

2020-11-22 07:42:35

微信清粉功能移動應(yīng)用

2020-12-10 10:20:32

CentOS 8RHELLinux

2022-07-26 19:06:16

Linux命令MacOS

2012-07-19 14:53:25

微軟MacOffice 2013

2019-03-25 08:47:43

京東騰訊高層

2009-03-18 09:01:06

華碩Windows 7PC銷售

2012-01-10 16:33:23

2010-09-16 10:50:46

李開復(fù)

2022-09-05 08:55:15

Go2提案語法

2021-04-11 18:05:17

SSL證書數(shù)據(jù)安全數(shù)據(jù)泄露

2018-06-05 13:56:05

蘋果WWDCiOS 12

2020-12-08 06:21:51

Go2語言Go1

2011-11-07 18:03:24

SaaSLinux桌面

2019-11-07 21:55:30

SQLNoSQL數(shù)據(jù)庫

2022-06-15 08:14:40

Go線程遞歸
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號