內部套件提供了一種在專案內組織和建立Go 程式碼的方法,同時將其可見性限制在專案的目錄結構內。理解內部套件的概念對於維護結構良好且可管理的程式碼庫至關重要。
在您的範例中,您在 GOPATH 樹外部有一個 project/ 資料夾,以及一個包含 foo 和 bar 套件的 inside/ 目錄。當嘗試從 main.go 匯入這些套件時,您會遇到問題。
隨著 Go v1.11 及更高版本中引入模組,先前的 $GOPATH/不再需要專案路徑的 src 目錄結構。相反,專案目錄根部的 go.mod 檔案(模組定義檔)用於定義專案的模組、其依賴項及其版本。
要解決您的特定問題,您可以採用以下方法做法:
go.mod 檔案範例:
module project go 1.16 require internal/bar v1.0.0 replace internal/bar => ./internal/bar require internal/foo v1.0.0 replace internal/foo => ./internal/foo
import ( "project/internal/foo" "project/internal/bar" )
透過執行這些步驟,您的程式碼將識別並允許使用您的內部包。請記住,內部包的目的是維護清晰的層次結構並防止外部存取程式碼的某些部分。它們是有效建構和組織 Go 專案的寶貴工具。
以上是如何在我的 Go 專案中成功使用內部套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!