03 go的包管理

2021-10-04 06:41:54 字數 543 閱讀 1938

go1.11和1.12版本時就已經支援了對包管理功能,但還是相對有一些小的問題,不過在後續的版本中已經陸續解決。增加包管理是必然趨勢,一門好的語言,不光要有好的生態,優美的語法,包管理也是必不可缺的功能,例如大名鼎鼎npm,就連c++也要推出包管理,好的包管理會讓專案更加整潔,依賴關係也相對清晰。

使用的第三方庫對於包管理是沒有版本管理的,此時第三方進行不相容更新,會導致很多錯誤。

多人協作開發專案,必須限定每個開發者在$gopath/src目錄下安裝依賴。

第三方包和自己專案的原始碼會混合,導致專案很混亂。

不合理的地方還有很多,不一一枚舉,好在這樣的時代已經過去,迎接而來的是一片光明。

新的包管理解決了上面提到的大部分問題,有以下特點:

專案不是必須存放在gopath/src目錄下了

所有依賴會在乙個叫go.mod檔案內存放

所有第三方庫會有相應的版本管理

對於一些已經轉移的包

go語言的包管理

在各種語言中都引入了包管理的思想,它有什麼作用呢?在go語言安裝一文中提到go語言的工作空間的概念 import fmt import github.com gin gonic gin 以上 是在 中匯入了兩個包,乙個內建包,乙個第三方包.這裡的import後是乙個包相對於 gopath src的相...

GO中的包管理

我們知道,程式是可以通過封裝來提高 的復用性。那麼go就是可以通過包管理的機制來管理 go modules於go語言1.11版本時引入,在1.12版本正式支援,是由go語言官方提供的包管理解決方案。modules是相關go包的集合,是源 交換和版本控制的單元。go命令直接支援使用modules,包括...

Go包管理go mod使用

為了解決go包管理的問題,go從1.11開始加入了go modules這一新特性。讓包的依賴和版本管理更加容易。乙個module可以理解為乙個單獨的包或者模組,module的根目錄下會包含乙個go.mod檔案。go.mod檔案中定義了該module被其它包import的path,同時也包含了該mod...