Heim > Artikel > Backend-Entwicklung > Wie verwende ich einen in einem Paket definierten Typ in einem anderen Paket in Go?
In Go kapseln Pakete zugehörigen Code und Daten. Um Funktionen aus einem Paket in einem anderen wiederzuverwenden, müssen Sie das erste Paket in das letztere importieren.
Bedenken Sie die folgende Projektstruktur:
src |-->config |--> config.go |-->otherPackage |--> otherFile.go |-->main.go
Die Datei config.go enthält eine Typdefinition für Config:
package config type Config struct { // ... }
Sie möchten den Config-Typ im verwenden Datei otherFile.go:
package otherPackage func SomeFunction(target float64, entries [2]float64, config config.Config) { // ... }
Beim Versuch, das Konfigurationspaket zu importieren, treten die folgenden Fehler auf:
Der erste Fehler weist darauf hin, dass Sie das Konfigurationspaket importiert haben, es aber nirgendwo in Ihrem Code verwenden. Der zweite Fehler weist darauf hin, dass der Config-Typ im aktuellen Bereich nicht erkannt wird.
Um dieses Problem zu beheben, müssen Sie das Paket vollständig importieren Pfad anstelle eines relativen Pfads. Darüber hinaus müssen Sie den Config-Typ mit seinem Paketnamen qualifizieren, wenn Sie in Ihrem Code darauf verweisen.
package otherPackage import ( "fmt" "math" "your-project/src/config" ) func SomeFunction(target float64, entries [2]float64, config config.Config) { // ... }
Indem Sie das Paket mit seinem vollständigen Pfad importieren, geben Sie explizit an, wo sich der Config-Typ befindet. Durch die Qualifizierung des Typs mit seinem Paketnamen wird sichergestellt, dass der Compiler weiß, auf welchen Konfigurationstyp Sie sich beziehen.
Hinweis: Wenn der Paketname, den Sie importieren, mit einer Variablen übereinstimmt oder eingibt In Ihrem aktuellen Bereich müssen Sie die Variable oder den Typ umbenennen, um Konflikte zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie verwende ich einen in einem Paket definierten Typ in einem anderen Paket in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!