Heim >Backend-Entwicklung >Golang >Warum schlägt der „lokale Import' beim Importieren eines nicht lokalen Go-Pakets fehl?
In Go wird ein lokaler Import verwendet, um ein Paket aus demselben Verzeichnis oder einem Unterverzeichnis des zu importieren aktuelles Arbeitsverzeichnis. Diese Technik kann jedoch nicht angewendet werden, wenn ein nicht-lokales Paket importiert wird, was durch den Fehler „lokaler Import „./greeting“ in einem nicht-lokalen Paket“ angezeigt wird.
Um den Fehler zu verstehen, untersuchen wir die bereitgestellte Dateistruktur:
/Users/clarkj84/Desktop/LearningGo └── src └── jacob.uk.com ├── greeting │ └── greeting.go └── helloworld.go
Das Problem tritt auf, wenn versucht wird, go install jacob.uk.com auszuführen aus dem src-Verzeichnis. Dieser Befehl versucht, das Paket jacob.uk.com zu installieren, das den ./greeting-Import in helloworld.go enthält. Go interpretiert dies jedoch als lokalen Import, da er aus dem src-Verzeichnis ausgeführt wird, während sich das Paket selbst nicht in src befindet.
Um den Fehler zu beheben, stehen zwei Optionen zur Verfügung :
import "jacob.uk.com/greeting"
Dieser Ansatz ermöglicht den Import und die Verwendung des Pakets unabhängig vom Arbeitsverzeichnis.
Absolute Importe bieten mehrere Vorteile gegenüber lokalen Importen:
Das obige ist der detaillierte Inhalt vonWarum schlägt der „lokale Import' beim Importieren eines nicht lokalen Go-Pakets fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!