Iris 這個在 go 語言上地表最快的網頁框架-模組

模組

上一篇文章介紹如何將 go 的程式碼拆分到其他 .go 的檔案,今天這一篇要更進一步跟大家介紹如何設定專案的模組化,並且了解如何安裝第三方函式庫。

模組

模組是 go 1.11才開始有的功能,可以幫忙管理專案相依的第三方套件,簡單來說明就如同 dotnet corepackage.config 或是 nodejspackage.json,接下來要說明如何使用 go 的模組設定。

go 的第三方函式庫

go 不同於nodejsdotnet corepython有集中的第三方函式庫,取而代之的是將第三方函式庫託管在公開的程式碼代管倉,如 github ,所以接下來要說明如何設定模組,並學習如何取得第三方函式庫。

模組的初始化

在模組這功能問世之前所有的 go 的程式碼要放在GOPATH底下的src內,在模組問世之後者要在任意資料夾下輸入以下指令

go mod init projectName

如此會自動生成一個go.mod模組檔,而且其中會有以下內容

module projectName

go 1.14

其中包括專案名稱以及 對應 go 的版本,接下來介紹如何取得 go 的第三方函式庫。

安裝套件

安裝 go 的第三方函式庫的方法很簡單,只要找到第三方函式庫的位置並輸入以下指令即可

go get github.com/astaxie/beego
go mod vender

如此會自動下載安裝第三方函式庫,並且修改go.mod加入相依函式庫的資料如下列所示

module projectName

go 1.14
require github.com/astaxie/beego v1.11.1

除此之外還有更簡單的方法就是直接寫在.go檔之中即可,如下列程式碼

package main
import "github.com/astaxie/beego"
func main() {
    beego.Run()
}

如此執行以下指令即可

go run xxx.go

只要執行上述指令就會自動下載安裝第三方函式庫,並修改go.mod

模組的指令

這邊重點式的介紹 go 模組的指令

  • download 下載模組到本地快取
  • init 初始化go.mod
  • tidy 新增遺失的套件或移除未使用的套件
  • vender 把 $GoPathpkg內需要的第三方套件搬到vendor
  • verify 驗證相依的第三方套件

模組的注意事項

讀者如果搭配上一篇的project-layout配置檔案資料結構可能在直接執行go run xxx.go時會遇到無法找到相依的第三方套件的狀況,那是因為 go 1.14 版針對資料結構中有個vendor資料夾時會由該資料夾取得相依的第三方套件,而不是預設的 $GoPathpkg內取得,因此需要先執行安裝第三方套件後再執行go mod vender將第三方套件由 $GoPathpkg搬到vendor並修改其modules.txt檔案。

結論

今天介紹大家如何使用 go 的模組指令,並介紹大家如何安裝第三方函式庫。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *