Je joue avec Golang et je veux savoir s’il existe un moyen de répertorier toutes les méthodes ou propriétés que je peux utiliser avec une variable. some_variable.methods
pour obtenir toutes les méthodes définies sur some_variable
. Y a-t-il une chose semblable à Golang?
Réponses:
6 pour la réponse № 1Oui, vous pouvez. Avec réflexion, chacun reflect.Type
object peut énumérer toutes les méthodes exposées par le type réel. mais ce n’est pas une chose très courante ou idiomatique à faire dans Go:
import (
"fmt"
"reflect"
)
type Foo struct {
}
func (f Foo) Bar() {
}
func (f Foo) Baz() {
}
func main() {
t := reflect.TypeOf(Foo{})
for i := 0; i < t.NumMethod(); i++ {
fmt.Println(t.Method(i).Name)
}
}
// Output:
// Bar
// Baz
Cela peut aussi être fait sur reflect.Value
, selon ce dont vous avez besoin.
Mais la vraie question est: qu'essayez-vous deatteindre ici? Essayez-vous de vérifier si un type implémente une interface ou quelque chose comme ça? Il existe probablement une solution plus simple à votre objectif. Quel est votre objectif actuel?
2 pour la réponse № 2
Si vous n’avez besoin que de cela en phase de développement gourou outil de développement peut vous aider beaucoup.