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.go、real.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中文網其他相關文章!