Go 中的多包目錄結構
開發Go 專案時,可能需要結合庫和命令列同一目錄中的介面(CLI )。但是,同一目錄中不可能有兩個同名的包,從而導致編譯錯誤。
解決方案:巢狀套件
解決此問題問題,您可以在相同目錄中建立一個新資料夾來存放包。透過將庫或 CLI 套件移至這個新資料夾中,您可以有效地嵌套包。
例如,考慮以下目錄結構:
在此結構中, lib 資料夾包含庫包 (myproject),cli 資料夾包含 CLI 套件 (main)。根目錄中的 main.go 檔案作為 CLI 應用程式的入口點。
要將庫包匯入到您的程式碼中,您可以使用以下匯入語句:
記得將$GOPATH環境變數設定為巢狀套件的父目錄。這允許編譯器正確解析導入路徑。
巢狀套件的好處
使用巢狀套件有幾個好處:
總而言之,雖然它是同一目錄中不可能有兩個同名的包,您可以透過在新資料夾中嵌套包來實現類似的功能。這種方法為您的 Go 專案提供了靈活性和模組化。
以上是如何在同一目錄中建立一個包含庫和 CLI 的 Go 專案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!