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 }
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))) } }
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!