Heim > Artikel > Backend-Entwicklung > Warum kann ich einen bestimmten Typ nicht in Go importieren?
Problem:
Ein Benutzer stößt auf Probleme, wenn er einen Typ aus einem separaten Paket in sein importiert Gehen Sie zur Projektstruktur. Die Importanweisungen führen zu Warnungen über nicht verwendete Importe oder undefinierte Typen, obwohl der Typ in Funktionsdeklarationen verwendet wird.
Projektstruktur:
src |-- config |-- config.go |-- otherPackage |-- otherFile.go |-- main.go
Importversuch:
import ( "fmt" "math" "../config" )
Fehler:
Ursache:
Das Problem entsteht durch eine falsche Importsyntax. In Go ist es nicht möglich, bestimmte Typen oder Funktionen aus einem Paket zu importieren. Es kann nur das gesamte Paket importiert werden.
Lösung:
Um das Problem zu beheben, muss die Importanweisung wie folgt geändert werden:
import ( "fmt" "math" "full/import/path/of/config" )
Paket- und Typreferenz:
Da das gesamte Paket importiert wird, muss auf den Typ mit seinem vollständig qualifizierten Namen verwiesen werden:
func function(... config.Config) {}
Variable Shadowing:
Wenn eine Variable mit demselben Namen wie das importierte Paket im aktuellen Bereich deklariert wird, wird das Paket gespiegelt. Um dies zu vermeiden, benennen Sie die Variable in einen anderen Namen um, beispielsweise:
func function(... config.Config) {} var cfg config.Config
Das obige ist der detaillierte Inhalt vonWarum kann ich einen bestimmten Typ nicht in Go importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!