Éviter les assertions de type dans la gestion des interfaces
Lorsque vous travaillez avec des interfaces dans Go, il peut devenir fastidieux d'effectuer des assertions de type plusieurs fois, en particulier lorsque l'interface est utilisée à divers endroits au sein d'une fonction. Ce problème pose la question de savoir s'il existe un moyen de créer une fois une variable du type souhaité et de l'utiliser dans l'ensemble de la fonction.
La nature typée statiquement de Go et l'absence de génériques rendent impossible l'implémentation directe de la variable souhaitée. solution. Cependant, des approches alternatives existent :
1. Abstraction via l'interface :
Concevez une interface qui encapsule les fonctionnalités communes que vous souhaitez appliquer à différentes structures. Implémentez cette interface dans vos types concrets. L'attribution d'une variable de ce type d'interface aux données éliminera le besoin d'assertions de type ou de commutateurs.
2. Réflexion :
Exploitez la réflexion pour accéder aux champs communs identifiés par leurs noms. Bien que cela ne fournisse aucune garantie au moment de la compilation, cela vous permet d'interagir avec les champs de manière dynamique. Pour un exemple, reportez-vous à cette question : "Asserter l'interface sur son type."
Remarque : L'implémentation de l'approche d'interface est plus efficace et permet d'obtenir un code plus propre. Néanmoins, la réflexion reste une option potentielle dans certains scénarios.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3