首頁  >  文章  >  後端開發  >  我應該如何建立我的 Go 包以獲得最佳組織和可維護性?

我應該如何建立我的 Go 包以獲得最佳組織和可維護性?

DDD
DDD原創
2024-11-22 21:06:14234瀏覽

How Should I Structure My Go Packages for Optimal Organization and Maintainability?

Go 語言包結構:深入講解和最佳實踐

開發Go 應用程式時,有效構建包對於可維護性至關重要,代碼組織以及遵守約定。這裡深入探討了 Go 套件結構,解決了常見問題。

資料夾結構和導入

您提供的範例專案結構總體上是正確的,具有$GOPATH 中缺少src 資料夾的異常。更新後的結構應該是:

$GOPATH/
  src/
    github.com/
      username/
        projectname/
          main.go
          numbers/
            rational.go
            real.go
            complex.go

在主套件(main.go)中匯入套件時,使用絕對導入。在您的範例中,正確的導入語句為:

import "github.com/username/projectname/numbers"

package.go File

每個檔案中都有一個package.go 文件包資料夾不是必需的。在您的情況下,無需為numbers 套件或其子套件建立package.go 檔案(例如rational.goreal.go) 。去complex.go)。

套件命名和檔案結構

套件中的所有檔案必須屬於該封包,這表示它們應該啟動帶有對應的package聲明。對於numbers 包,這看起來像:

// real.go
package numbers

type Real struct {
    Number float64
}

在你的main 包中,你可以使用訪問Real 類型:

import "github.com/username/projectname/numbers"

func main() {
    fmt.Println(numbers.Real{2.0})
}

以上是我應該如何建立我的 Go 包以獲得最佳組織和可維護性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn