Maison > développement back-end > Golang > Comment utiliser la réflexion de type d'exécution pour convertir les types ?

Comment utiliser la réflexion de type d'exécution pour convertir les types ?

王林
Libérer: 2024-02-06 10:51:12
avant
729 Les gens l'ont consulté

Comment utiliser la réflexion de type dexécution pour convertir les types ?

Contenu de la question

J'essaie de créer une fonction en utilisant des génériques qui convertit une tranche d'interface en une tranche de type t.

J'ai trouvé ce qui suit :

func convertInterfaceArray[T any](input []any, res []T) {
    for _, item := range input {
        res = append(res, item.(reflect.TypeOf(res[0])))
    }
}
Copier après la connexion

Cependant, cela ne sera pas compilé. Mais vous comprenez. t peut être de n'importe quel type, j'ai une tranche d'entrée de type []any qui doit être convertie en []t


Réponse correcte


Assertez la valeur de type t. Aucune réflexion requise.

for _, item := range input {
    res = append(res, item.(T))
}
Copier après la connexion

https://www.php.cn/link/f2a13eeae490ef805070086405e26087

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal