Maison >développement back-end >Golang >Go Reflection peut-il appeler une méthode Struct à l'aide d'un nom de chaîne ?

Go Reflection peut-il appeler une méthode Struct à l'aide d'un nom de chaîne ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-19 21:14:02767parcourir

Can Go Reflection Invoke a Struct Method Using a String Name?

Réflexion : Struct par String

La question se pose : est-il possible d'invoquer la méthode d'une struct en spécifiant son nom sous forme de chaîne via réflexion ?

En Go, la réflexion s'appuie sur une valeur pour déterminer le type sous-jacent. Utiliser une chaîne comme expression pour obtenir le type, comme tenté dans l'extrait de code fourni, n'est pas possible.

La réponse acceptée dans une question similaire suggère de faire correspondre le nom de la chaîne avec le type cible. Cependant, cette approche nécessite un mappage de type manuel et ne fournit pas de solution directe pour accéder à une structure par son nom sous forme de chaîne.

Conclusion

Malheureusement, il n'y a pas mécanisme ou registre intégré dans Go qui permet l'invocation directe de la méthode d'une structure en utilisant uniquement son nom sous forme de chaîne. Pour y parvenir, un registre de types personnalisé devrait être implémenté, ce qui nécessiterait un mappage manuel des noms de types aux valeurs.

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