Definierte Typen in externen Paketen entdecken
In Go werden Typdefinitionen exportiert, wenn ihre Namen mit Großbuchstaben beginnen. Um von einem anderen Paket aus auf diese Typen zuzugreifen, können Sie das Paket go/importer verwenden.
Lösung:
package main import ( "fmt" "go/importer" demo "example.com/path/to/demo" // import the package containing the types ) func main() { pkg, err := importer.Default().Import("example.com/path/to/demo") if err != nil { fmt.Println("error:", err) return } // Get the names of all exported types in the package for _, declName := range pkg.Scope().Names() { fmt.Println(declName) } }
Dieser Code gibt die folgende Ausgabe aus, die Folgendes auflistet die Namen der exportierten Typen, die im Demopaket definiert sind:
People UserInfo
Hinweis: Using go/importer auf dem Go Playground kann zu einem Fehler führen.
Das obige ist der detaillierte Inhalt vonWie kann ich exportierte Typen aus externen Go-Paketen erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!