錯誤:「無法載入套件:封包my_prog:找到套件my_prog 和main」
在Go 中,每個套件必須駐留在GOPATH 中的單獨目錄。當您遇到錯誤「無法載入套件:套件 my_prog:找到套件 my_prog 和 main」時,這表示您有多個使用相同名稱但在不同目錄中定義的套件。
在您的情況下,您/src/my_prog/main.go目錄下有:
要解決此問題,您需要移動檔案 d_interface。 go 和 d_struct_that_implements_the_interface.go 進入新目錄GOPATH/src 並給它一個唯一的名稱,例如 my_prog_pkg。更新後的結構如下所示:
/bin/ /pkg/ /src/ /src/main/ /src/main/main.go /src/my_prog_pkg/ /src/my_prog_pkg/d_interface.go /src/my_prog_pkg/d_struct_that_implements_the_interface.go
這樣,您將擁有兩個獨立的套件:main 和 my_prog_pkg。
此要求背後的原因是 Go 套件提供了一種方法組織和模組化程式碼。每個套件都有特定的功能,並且可以在多個程式中重複使用。透過在自己的目錄中定義每個包,可以確保包彼此隔離並防止命名衝突。
以上是為什麼 Go 回傳「Can't Load Package: Package my_prog: Found Packages my_prog and main」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!