Comment imprimer l'ensemble de méthodes d'une interface dans Golang
Obtenir l'ensemble de méthodes d'une interface dans Go peut être obtenu par réflexion. Cette technique vous permet d'inspecter et d'interroger les informations de type des variables sans connaître leur type spécifique au moment de la compilation.
Solution :
À l'aide du package Reflect, vous pouvez accéder les informations de type et les méthodes d’une interface. Voici un extrait de code montrant comment récupérer les noms de fonctions d'une interface :
<code class="go">package main import ( "fmt" "reflect" ) type Searcher interface { Search(query string) (found bool, err error) ListSearches() []string ClearSearches() (err error) } func main() { t := reflect.TypeOf(struct{ Searcher }{}) for i := 0; i < t.NumMethod(); i++ { fmt.Println(t.Method(i).Name) } }</code>
Ce code affichera le résultat suivant :
Search ListSearches ClearSearches
La fonction reflex.TypeOf() obtient le tapez les informations de la structure anonyme qui intègre l’interface. Ensuite, t.NumMethod() fournit le nombre de méthodes définies par l'interface, et nous les parcourons en utilisant t.Method(i).Name pour obtenir les noms de méthodes.
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!