我們知道,程式是可以通過封裝來提高**的復用性。那麼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...