Maison >développement back-end >Golang >Comment récupérer l'ensemble de méthodes d'une interface dans Golang ?
Comment récupérer l'ensemble de méthodes d'une interface dans Golang
Déterminer l'ensemble de méthodes d'une interface dans Golang vous aide à obtenir une liste de tous les méthodes appliquées par une interface spécifique. Pour y parvenir, nous utilisons le package Reflect.
Extraction d'ensemble de méthodes à l'aide de Reflection
Sans connaissance préalable du type concret d'implémentation, vous pouvez utiliser l'extrait de code suivant pour imprimer l'ensemble de méthodes :
<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>
En utilisant la réflexion, nous obtenons le reflet.Type de la structure anonyme conforme à l'interface. La fonction NumMethod() récupère le nombre total de méthodes définies par l'interface, et la boucle parcourt chaque méthode, en imprimant son nom.
L'exécution de l'extrait de code produira le résultat suivant :
Search ListSearches ClearSearches
Cette technique d'extraction d'ensemble de méthodes s'avère utile lorsque vous devez travailler avec des interfaces de manière dynamique sans connaître les types d'implémentation.
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!