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

Go GOPATH 模式未來會怎么樣,會消失嗎?

開發(fā) 前端
這次針對 GOPATH 模式和 Module 模式的探討和推進,仍然是由 Go 核心團隊負責人 rsc 負責發(fā)起。最終的結論是 GOPATH 模式這種歷史債務甩不掉,還是有人必須要使用的。但是我們也不能完全不管他。

大家好,我是煎魚。

還記得好多年前,我們才剛剛開始學習和使用 Go 這一門編程語言。當時依賴管理還在用 GOPATH 模式,為此大家基于此去開發(fā)和管理了很多配套工具和流程。

隨著 Go 模塊管理(Module)的成熟,有在用新的,有在用舊的。GOPATH 的去留成為了一個折騰的問題。

GOPATH 存在的問題

現(xiàn)階段 Go 維護既有的 GOPATH 模式,至少存在兩個重要問題:

  1. 新特性更不上:在模塊代理、校驗和數(shù)據(jù)庫等安全改進方面,舊的 GOPATH 模式已被拋在后面。Go 所有的迭代焦點都集中在模塊管理(go.mod)上。
  2. 無法識別版本:舊的 GOPATH 模式的源代碼布局,沒有提供識別當前使用的 Go 語音版本的方法。

第一點還能說可以用,不跟進,似乎也沒什么大問題。最煩的是第二點,之前在 GOPATH 和 Go Module 并立的年代。經常會遇到這個痛苦的坑。

這里 Go 程序讀取模塊會有一些分歧:

  1. Module 模式的程序,讀取 go.mod 的 go 行,確定版本為 Go 1.16。
  2. GOPATH 模式的程序,由于無法得知版本,只能假設 Go 是最新版本。

這意味著,如果有人在 GOPATH 模式下開發(fā)了可下載的軟件包,他們可以使用 Go 1.16 之后引入的語言特性,比如泛型。但當用戶在 Module 模式下以模塊的形式下載這些代碼時,這些代碼會被解釋為 Go1.16,無法編譯。

隨著時間的推移,其他語言特性或變更的出現(xiàn),這種分歧會越來越大。

曾經的最后通牒

之前在 2021 年 2 月時,在 Go 官方博客上曾經對此作出公示,給出最后的通牒:

圖片圖片

  • 可以通過將 GO111MODULE 環(huán)境變量設置為 off,仍然可以繼續(xù)在 GOPATH 模式下構建包。
  • 我們計劃在 Go1.17 中放棄對 GOPATH 模式的支持。
  • Go1.17 將忽略 GO111MODULE 環(huán)境變量。如果有未在模塊模式下構建的項目,現(xiàn)在是遷移的時候了。

從結果來看,現(xiàn)在 2024 年了,大家也知道了,Go1.17 及以后也沒有放棄 GOPATH 模式。最后通牒是可以被打破的!

最終采取的策略和行動

  1. 承諾無限期保留 GO111MODULE=off 時,構建 GOPATH 布局源代碼樹的功能。
  2. 在 GOPATH 模式下完全禁用 go get,因為它能成功下載的代碼越來越少,帶來的開發(fā)體驗也越來越差。
  3. 在 GOPATH 模式下,將把 Go 語言版本假設為 Go1.21,而不是繼續(xù)假設為 “最新的 Go 版本”。這將確保如果在 Go 1.22 中更改 for 循環(huán)或在將來進行其他重大更改時,達到舊版代碼也能繼續(xù)編譯的目的。

總結

這次針對 GOPATH 模式和 Module 模式的探討和推進,仍然是由 Go 核心團隊負責人 rsc 負責發(fā)起。最終的結論是 GOPATH 模式這種歷史債務甩不掉,還是有人必須要使用的。但是我們也不能完全不管他。

答案是既要也要還要。所以對 GOPATH 模式和 Module 模式同時做了一些小處理,避免造成過大的沖突。最終結論是:無限期保留基本 GOPATH 模式的支持。此項變更在 Go1.22 時已經生效!

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

2025-02-11 09:01:57

2023-06-30 08:23:36

Spring!SolonJavalin

2024-05-07 08:46:06

GoGoogle云原生

2023-01-11 07:20:27

編程能力人工智能

2018-07-31 15:38:07

SDN物聯(lián)網IIoT

2023-10-23 19:58:01

Android

2022-06-15 09:26:43

Perl編程語言

2021-09-01 10:50:21

int main()return 0語言

2020-04-28 08:10:42

編程Resflux應用

2021-07-06 07:27:44

函數(shù)Return編譯器

2023-07-10 10:21:21

JavaScript模塊化規(guī)范

2020-05-11 17:08:28

蘋果WindowsMacBook

2024-10-14 09:58:06

并發(fā)編程共享

2013-08-20 09:48:59

2017-08-09 09:05:00

旅游智慧

2021-11-05 10:59:06

元編程語言工具

2021-05-20 10:14:50

數(shù)字人民幣ATM銀行

2022-07-21 13:36:39

API事件驅動Rest

2015-08-24 13:49:02

openstackkubernetesmesos

2018-08-07 09:38:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品美女久久久久久久久久久 | 99精品视频网 | 久久精品一| 亚洲精品白浆高清久久久久久 | 啪啪精品 | 一区二区免费在线视频 | 国产欧美在线观看 | 国产色网站 | 欧美日韩久久 | 天堂综合网 | 国产精品a一区二区三区网址 | 国产精品福利网 | 国产午夜精品一区二区三区嫩草 | 91文字幕巨乱亚洲香蕉 | 国产黄色在线观看 | 亚洲成人一区二区 | 精品99爱视频在线观看 | 精品国产一区二区三区成人影院 | 国产日韩精品在线 | 精品久久久久久一区二区 | 亚洲激情综合网 | 免费看日韩视频 | 欧美综合国产精品久久丁香 | 国产一区二区三区精品久久久 | 国产成人免费视频网站高清观看视频 | 不卡一区二区三区四区 | 国产福利视频 | 色婷婷综合网站 | 亚洲国产精品成人无久久精品 | 日韩视频一区二区 | 中文字幕一区二区三区四区五区 | 成人网av | 欧美成人免费在线视频 | 在线观看国产视频 | 欧美一区二区二区 | 国产激情精品视频 | 国产视频精品免费 | 免费观看的av| av片在线播放| 大学生a级毛片免费视频 | 99精品观看 |