Maison > développement back-end > Golang > Comment puis-je vérifier dynamiquement les types de variables dans Go ?

Comment puis-je vérifier dynamiquement les types de variables dans Go ?

Mary-Kate Olsen
Libérer: 2025-01-04 21:01:41
original
556 Les gens l'ont consulté

How Can I Dynamically Check Variable Types in Go?

Vérification dynamique des types de variables dans Go

Lors de l'exposition de plusieurs fonctions C en tant que fonction Go unique, il est nécessaire de déterminer le type de paramètre passé au moment de l’exécution. Le commutateur de type Go fournit une solution efficace pour cela.

Pour vérifier le type du paramètre, une instruction switch peut être utilisée comme suit :

switch v := param.(type) { 
case uint64:
    // Handle uint64 type
case string:
    // Handle string type
default:
    // Handle unexpected type
}
Copier après la connexion

Ce commutateur de type vérifiera le type de le paramètre passé et exécute le cas correspondant. Par exemple, il peut être utilisé pour exposer plusieurs fonctions C comme une seule fonction Go :

func (e *Easy)SetOption(option Option, param interface{}) {

    switch v := param.(type) { 
    default:
        fmt.Printf("unexpected type %T", v)
    case uint64:
        e.code = Code(C.curl_wrapper_easy_setopt_long(e.curl, C.CURLoption(option), C.long(v)))
    case string:
        e.code = Code(C.curl_wrapper_easy_setopt_str(e.curl, C.CURLoption(option), C.CString(v)))
    } 
}
Copier après la connexion

Dans cet exemple, le commutateur de type permet à la fonction SetOption de gérer à la fois les paramètres uint64 et string et d'appeler la fonction C appropriée. par conséquent. Cette approche offre un moyen pratique et sûr de travailler avec des paramètres de différents types dans Go.

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