Heim >Backend-Entwicklung >Golang >Warum gibt Go „Paket kann nicht geladen werden: Paket my_prog: Pakete my_prog und main gefunden' zurück?
Fehler: „Paket kann nicht geladen werden: Paket my_prog: Pakete my_prog und main gefunden“
In Go muss sich jedes Paket in befinden ein separates Verzeichnis innerhalb des GOPATH. Wenn Sie auf die Fehlermeldung „Paket kann nicht geladen werden: Paket my_prog: Pakete my_prog und main gefunden“ stoßen, bedeutet dies, dass Sie mehrere Pakete mit demselben Namen, aber in unterschiedlichen Verzeichnissen definiert haben.
In Ihrem Fall Sie haben:
Um dieses Problem zu beheben, müssen Sie die Dateien d_interface verschieben. Gehen Sie und d_struct_that_implements_the_interface.go in ein neues Verzeichnis in GOPATH/src und geben Sie es ein ein eindeutiger Name, z. B. my_prog_pkg. Die aktualisierte Struktur würde so aussehen:
/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
Auf diese Weise hätten Sie zwei separate Pakete: main und my_prog_pkg.
Der Grund für diese Anforderung ist, dass Go-Pakete eine Möglichkeit dazu bieten Code organisieren und modularisieren. Jedes Paket verfügt über eine bestimmte Funktionalität und kann in mehreren Programmen wiederverwendet werden. Indem Sie jedes Paket in einem eigenen Verzeichnis definieren, stellen Sie sicher, dass die Pakete voneinander isoliert sind und Namenskonflikte vermieden werden.
Das obige ist der detaillierte Inhalt vonWarum gibt Go „Paket kann nicht geladen werden: Paket my_prog: Pakete my_prog und main gefunden' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!