Maison > développement back-end > Golang > Comment puis-je obtenir le nom du paramètre d'une fonction Go ?

Comment puis-je obtenir le nom du paramètre d'une fonction Go ?

Barbara Streisand
Libérer: 2024-12-21 13:07:23
original
933 Les gens l'ont consulté

How Can I Get the Name of a Go Function's Parameter?

Récupération du nom du paramètre dans Go

Considérez la méthode Go suivante :

func (t *T) TMethod(data *testData) (interface{}, *error) {
    ...
}
Copier après la connexion

Si vous désirez déterminer le nom du paramètre (c'est-à-dire data), tenter d'utiliser le code suivant entraînera la récupération de la structure name:

reflect.ValueOf(T).MethodByName("TMethod").Type.In(0).Elem().Name()
Copier après la connexion

Malheureusement, obtenir le nom d'un paramètre de fonction ou de méthode n'est pas réalisable dans Go. Cela est principalement dû au fait que les noms des paramètres sont sans conséquence lors de l'appel de telles fonctions. Au lieu de cela, l’accent est mis sur leurs types et leur ordre. De plus, il est permis de définir des fonctions ou des méthodes sans attribuer de noms à leurs paramètres, comme indiqué ci-dessous :

func NamelessParams(int, string) {}
Copier après la connexion

Pour des informations plus détaillées sur cet aspect, veuillez vous référer à la discussion sur Les arguments sans nom sont-ils une chose dans Go ?

Alternativement, si vous souhaitez établir un cadre permettant la transmission de valeurs à des paramètres portant des noms désignés (par exemple, mapper les paramètres de l'API aux paramètres de la fonction/méthode Go), envisagez d'utiliser un structure ou carte. En effet, les structures et les cartes permettent respectivement de récupérer des champs nommés et des clés via des méthodes telles que Value.FieldByName() et Type.FieldByName().

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal