Découverte de types définis dans des packages externes
Dans Go, les définitions de types sont exportées lorsque leurs noms commencent par des lettres majuscules. Pour accéder à ces types à partir d'un autre package, vous pouvez utiliser le package go/importer.
Solution :
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) } }
Ce code imprimera la sortie suivante, qui répertorie les noms des types exportés définis dans le package de démonstration :
People UserInfo
Remarque : Utilisation de go/importer sur le Go Playground peut entraîner une erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!