In Go kann das Importieren lokaler Pakete eine Herausforderung darstellen, wenn sich das Projekt innerhalb von GOPATH/src befindet Verzeichnis. In dieser Frage wird untersucht, warum das Importieren lokaler Pakete aus dem GOPATH/src-Verzeichnis möglicherweise fehlschlägt, beim Verschieben in das Home-Verzeichnis jedoch erfolgreich ist.
Ursache des Problems
Der Fehler ist aufgetreten, als Der Versuch, ein lokales Paket aus GOPATH/src zu importieren, ist hauptsächlich auf die Verwendung relativer Importpfade zurückzuführen. Relative Importpfade bieten eine bequeme Möglichkeit, auf Pakete innerhalb des Projekts zu verweisen, werden jedoch von den Go-Build- und Install-Befehlen nicht vollständig unterstützt.
Lösung
Um dieses Problem zu beheben , wird empfohlen, die Verwendung relativer Importpfade zu vermeiden und stattdessen die Richtlinien der Programmiersprache Go für die Strukturierung des Codes zu befolgen. Dazu müssen Sie Ihren Code in einer Hierarchie von Paketen organisieren, jedes mit seinem eigenen Verzeichnis, und absolute Importpfade verwenden, um auf diese Pakete zu verweisen.
Beispiel
Betrachten Sie das folgende Projekt Struktur:
/usr/local/go/src/myproject - main.go - models - product.go
In dieser Struktur kann die Datei main.go das Modellpaket über einen absoluten Importpfad importieren:
package main import ( "myproject/models" "fmt" "github.com/gin-gonic/gin" )
Zusätzliche Hinweise
Indem Sie diese Richtlinien befolgen, können Sie lokale Pakete erfolgreich in Go importieren, unabhängig von ihrem Speicherort im GOPATH-Verzeichnis.
Das obige ist der detaillierte Inhalt vonWarum kann ich in Go keine lokalen Pakete aus GOPATH/src importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!