很多語言有專門的工具或程式庫來管理專案中的依賴套件或第三方函式庫,例如java有maven,javascript有npm。
但對於go 來說,v1.1之前是沒有內建的go模組工具的,專案檔案需要放在GOPATH/src下來運行,這樣的工作方式比較強制,可能會降低效率。
在v1.1之後,go提供了內建的go mod工具,透過go mod我們可以愉快的進行go依賴套件的管理和升級。
下面就來由go入門教學專欄來為大家介紹一下go mod。
go mod 常用指令
download download modules to local cache edit edit go.mod from tools or scripts graph print module requirement graph init initialize new module in current directory tidy add missing and remove unused modules vendor make vendored copy of dependencies verify verify dependencies have expected content why explain why packages or modules are needed
在新專案中設定go mod
在GOPATH外新建一個目錄,使用go mod init xxx來初始化go.mod檔。 go.mod中提供了目前專案的依賴函式庫的名字和版本
新建main.go,加入程式碼
package main import "github.com/astaxie/beego" func main() { beego.Run() }
如果你使用的是vscode編輯器,go拓展會自動對已開啟檔案中的依賴下載或你也可以執行go run main.go來下載依賴套件。
此時go.mod中內容已更新
module go-mod go 1.13 require github.com/astaxie/beego v1.12.0
同時專案中會產生go.sum文件,此文件記錄目前依賴樹
對於golang.org下的依賴套件可以透過replace來替換成github.com中的依賴套件
beego專案使用go mod
透過bee工具產生的beego專案時產生在GOPATH之下的,需要將beego專案移到GOPATH之外,產生go mod init xxx生成go.mod檔。
更多go語言知識請關注php中文網go語言教學欄位。
以上是go mod模組化介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!