如何在Golang中建立自己的包?


Golang 是一種開源程式語言,廣泛用於構建健壯、可擴充套件和高效的應用程式。Golang 的關鍵特性之一是其包系統,它允許開發者編寫可重用且模組化的程式碼。在本文中,我們將討論如何在 Golang 中建立自己的包。

什麼是 Golang 中的包?

Golang 中的包是相關函式、型別和變數的集合,它們被組織在一起以提供特定的功能。包可以在不同的專案中重用,使其成為開發模組化和可維護程式碼的強大工具。

Golang 提供了許多用於常見任務的內建包,例如檔案 I/O、網路和加密。但是,您也可以建立自己的自定義包來封裝您的程式碼並使其可重用。

在 Golang 中建立包

在 Golang 中建立自己的包是一個簡單的過程,涉及以下步驟:

  • 為您的包建立一個新目錄

  • 將您的原始碼檔案新增到目錄中

  • 在目錄中建立一個名為 go.mod 的檔案以定義模組名稱

  • 在您的原始碼檔案中定義包名稱

  • 構建您的包

讓我們更詳細地瞭解每個步驟。

步驟 1:建立新目錄

建立包的第一步是建立一個新目錄來儲存您的包程式碼。此目錄應以您的包命名,並且應位於您的 GOPATH 目錄中。

例如,如果您想建立一個名為“mathutils”的包,您將在您的 GOPATH 目錄中建立一個名為“mathutils”的新目錄。

$ mkdir $GOPATH/src/mathutils

步驟 2:新增您的原始碼檔案

接下來,您需要將您的原始碼檔案新增到您剛剛建立的目錄中。檔案應以它們定義的包命名,並應具有副檔名 .go。

例如,如果您想建立一個名為“mathutils”的包,其中包含一個函式來計算數字切片的平均值,您將在 mathutils 目錄中建立一個名為 average.go 的檔案並新增以下程式碼:

package mathutils

func Average(numbers []float64) float64 {
   sum := 0.0
   for _, number := range numbers {
      sum += number
   }
   return sum / float64(len(numbers))
}

步驟 3:建立 go.mod 檔案

go.mod 檔案用於定義您的包的模組名稱和版本。要建立 go.mod 檔案,請導航到您建立包的目錄並執行以下命令:

$ go mod init mathutils

這將在您的包目錄中建立一個新的 go.mod 檔案,其內容如下:

module mathutils

module 行指定模組名稱,而 go 行指定您的包所需的 Golang 最小版本。

步驟 4:定義包名稱

在您的原始碼檔案中,您需要使用 package 關鍵字後跟您的包名稱來定義包名稱。

例如,在 average.go 檔案中,我們將包名稱定義為 mathutils:

package mathutils

func Average(numbers []float64) float64 {
   // ...
}

步驟 5:構建您的包

最後,您需要使用 go build 命令構建您的包。這會將您的原始碼檔案編譯成一個可以匯入到其他 Golang 專案中的單個包檔案。

要構建包,請開啟終端並導航到包的根目錄。執行以下命令以構建包:

go build

這將在當前目錄中建立一個與您的包同名的可執行檔案。

如果您想在特定目錄中構建包,可以使用 -o 標誌後跟所需的輸出目錄來指定輸出目錄:

go build -o /path/to/output/directory

步驟 6:測試您的包

在釋出您的包之前,務必對其進行徹底測試以確保其按預期工作。

要測試您的包,您可以在包目錄中建立一個單獨的測試檔案。測試檔案應具有後綴 _test.go 幷包含以 Test 開頭的測試函式。例如,如果您的包名為 mypackage,則您的測試檔案應名為 mypackage_test.go。

以下是一個測試函式示例:

func TestMyFunction(t *testing.T) {
   result := MyFunction(3, 4)
   if result != 7 {
      t.Errorf("MyFunction(3, 4) = %d; want 7", result)
   }
}

要執行測試,請在終端中導航到包的根目錄並執行以下命令:

go test

這將執行包中的所有測試。

步驟 7:釋出您的包

一旦您確信您的包按預期工作,就可以將其釋出到儲存庫以供其他人使用。有幾個流行的 Go 包儲存庫,包括:

  • Go 模組

  • GitHub

  • Bitbucket

  • GitLab

要釋出您的包,您可以在這些平臺之一上建立一個儲存庫並上傳您的包檔案。您還可以使用 go get 命令從儲存庫下載您的包:

go get github.com/your-username/your-package

這會將您的包及其所有依賴項下載到您的 $GOPATH/src 目錄中。

結論

在 Go 中建立自己的包很容易,並且可以幫助您模組化程式碼以提高可維護性和可重用性。透過遵循本文中概述的步驟,您可以建立自己的包、構建它、測試它並將其釋出供其他人使用。

更新於: 2023年5月5日

7K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.