使用Go 導入子包:解決“No Go Files”錯誤
在Go 中,通過引用子包的父目錄來導入子包並不直接支援。但是,還有其他方法可以解決常見錯誤訊息「[父目錄]中沒有Go 檔案。」
考慮以下場景:
package main import "one/entities/bar" func main() { }
使用以下目錄結構:
- one - entities - bar - file.go
嘗試使用go install main 建置專案時,出現錯誤,提示子包目錄中缺少Go 檔案。若要解決此問題,您不能使用通配符語法匯入子包,因為匯入語句需要明確的套件名稱或路徑。
要正確匯入子包,您應該單獨匯入每個子包。例如,要匯入 bar 子包,您可以如下修改 main.go 檔案:
package main import ( "one/entities/bar/file1" "one/entities/bar/file2" ) func main() { }
或者,您可以使用自訂匯入路徑將相關子包分組到單一匯入語句下。這可以增強可讀性並減少導入行的數量。為此,請在 one/entities 目錄中建立一個名為 import 的目錄,並在其中放置一個名為 init.go 的檔案。在init.go 檔案中,定義自訂匯入路徑並匯入所需的子套件:
// import/init.go package entities import ( _ "one/entities/bar/file1" _ "one/entities/bar/file2" )
然後,在main.go 檔案中,使用自訂匯入路徑匯入實體套件:
// main.go package main import ( "log" "one/entities" ) func main() { v := entities.Bar_file1.Get.Basic.Req.Headers{} log.Fatal(v) }
遵循這些方法,您可以在Go 中正確匯入子包,解決「無Go 檔案」錯誤並組織匯入以獲得更好的程式碼可讀性。
以上是如何在 Go 中匯入子包:出現「No Go Files」錯誤時該怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!