Maison  >  Article  >  développement back-end  >  Comment enregistrer dynamiquement des types de structure sans instanciation ?

Comment enregistrer dynamiquement des types de structure sans instanciation ?

DDD
DDDoriginal
2024-10-25 04:48:29179parcourir

How to Dynamically Register Struct Types Without Instantiation?

Enregistrement dynamique des types de structure sans instanciation

Dans un registre pour le chargement dynamique de solutions, l'approche actuelle exige la création et la remise à zéro d'une instance avant en enregistrant son type. Cela pose un problème avec les grandes structures.

Solution :

Évitez de créer des instances en utilisant la fonction reflect.TypeOf :

<code class="go">import "reflect"

func RegisterWithoutInstance(sol interface{}) {
    typ := reflect.TypeOf(sol).Elem()
    solutionsRegistry.Set(typ)
}</code>

Avantage :

Cette approche permet l'enregistrement de type sans l'allocation et l'initialisation d'une instance de structure, éliminant ainsi la surcharge associée aux grandes structures.

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