Détermination de l'ensemble de méthodes d'une interface dans Go
Lorsque vous travaillez avec des interfaces dans Go, il peut être utile d'inspecter l'ensemble des méthodes qu'une interface définit. Ces informations peuvent être inestimables pour des tâches telles que la validation, la génération de code ou simplement la compréhension de l'intention d'une interface.
Obtention de l'ensemble de méthodes à l'aide de Reflection
Le langage Go fournit un package de réflexion puissant qui vous permet d'examiner la représentation d'exécution des variables, y compris les types. Pour récupérer l'ensemble de méthodes d'une interface, nous pouvons utiliser les étapes suivantes :
Voici un extrait de code qui illustre ces étapes :
<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>
L'exécution de ce programme affichera les noms des méthodes définies par l'interface Searcher :
Search ListSearches ClearSearches
Cette technique vous permet de déterminer la méthode ensemble d'une interface sans connaître le type concret qui l'implémente.
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!