Maison  >  Article  >  développement back-end  >  Comment imprimer l’ensemble de méthodes d’une interface en Go ?

Comment imprimer l’ensemble de méthodes d’une interface en Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 16:44:02908parcourir

How to Print the Method Set of an Interface in Go?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn