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
677 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!

source:stackoverflow.com
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