Réflexion sur les noms de paramètres dans Go
On souhaite souvent déterminer les noms de paramètres d'une méthode Go. Cependant, après avoir tenté d'obtenir ces informations via la fonction TMethod, un utilisateur découvre que seul le nom de la structure est renvoyé (testData dans ce cas).
Comprendre l'absence de noms de paramètres
Dans Go, les noms des paramètres de méthode ou de fonction ne sont pas explicitement stockés dans les informations d'exécution. En effet, les noms des paramètres ne sont pas considérés comme cruciaux pour l'appelant de la méthode ou de la fonction. L'accent est mis sur les types de paramètres et leur ordre.
Deux fonctions avec les mêmes types de paramètres et de résultats ont des types identiques, quels que soient leurs noms de paramètres. Par exemple :
func f1(a int) {} func f2(b int) {} fmt.Println(reflect.TypeOf(f1) == reflect.TypeOf(f2)) // Prints true
Approches alternatives pour la dénomination des paramètres
Si la fonctionnalité souhaitée est de créer un cadre pour appeler des fonctions avec des paramètres « nommés », des approches alternatives existent :
Informations complémentaires
Pour des informations plus détaillées et des exemples, reportez-vous à ce qui suit ressources :
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!