GO中的包管理

2021-10-12 16:31:22 字數 969 閱讀 6077

我們知道,程式是可以通過封裝來提高**的復用性。那麼go就是可以通過包管理的機制來管理**。

go modules於go語言1.11版本時引入,在1.12版本正式支援,是由go語言官方提供的包管理解決方案。modules是相關go包的集合,是源**交換和版本控制的單元。go命令直接支援使用modules,包括記錄和解析對其他模組的依賴性

首先需要設定環境變數,可以使用go env命令檢視當前配置。

$ go env

go111module=

"auto"

goproxy=

""gonoproxy=

""gosumdb=

"sum.golang.org"

gonosumdb=

""goprivate=

""

如果需要更改 go111module ,可以使用go env命令

go env -w go111module=on
其中:

go modules的使用方法比較靈活,在目錄下包含go.mod檔案即可

首先通過如下命令建立乙個新的module,然後當前目錄會生成go.mod檔案。

go mod init [module name]
go modules會自動管理包,如果需要引入依賴,只需要在go.mod下新增以下內容(以gorose為例子)

go get 命令用於拉取新的依賴,以下為go get命令具體用法:

go語言的包管理

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

03 go的包管理

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

Go包管理go mod使用

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