Maison > développement back-end > Golang > Pouvez-vous obtenir un « reflect.Type » à partir d'un nom de chaîne dans Go ?

Pouvez-vous obtenir un « reflect.Type » à partir d'un nom de chaîne dans Go ?

Linda Hamilton
Libérer: 2024-11-09 06:08:02
original
1054 Les gens l'ont consulté

Can You Get a `reflect.Type` from a String Name in Go?

Obtenir Reflect.Type à partir de Type Name dans Go

Considérez la tâche suivante :

type t1 struct { i int; s string }

Comment pouvez-vous obtenir le reflet.Type de t1 sans l'instancier ?

  • Pouvez-vous obtenir le reflet.Type sans instanciation ?

Oui, c'est possible :

var v1 reflect.Type = reflect.TypeOf((*t1)(nil)).Elem()
Copier après la connexion

Vous pouvez utiliser reflex.TypeOf pour obtenir le reflet.Type d'un pointeur vers une structure nulle de type t1, et puis utilisez Elem pour obtenir le type de la structure sous-jacente.

  • Pouvez-vous obtenir le reflet.Type à partir du nom de chaîne "t1" ?

Malheureusement non. Go ne conserve pas de carte des types dans le binaire actuel, ce qui rend difficile la récupération d'un type à partir d'une chaîne. Bien qu'il soit possible de créer un package de registre de types personnalisé, il serait incomplet et potentiellement ambigu en raison de types anonymes et de collisions de noms.

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!

source:php.cn
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