Maison >développement back-end >Golang >Vérifier si la variable est string/int/float ?
L'éditeur de PHP vous présentera comment vérifier si une variable est une chaîne, un entier ou un nombre à virgule flottante. En PHP, nous pouvons utiliser certaines fonctions intégrées pour atteindre cet objectif. Tout d’abord, utilisez la fonction is_string() pour vérifier si une variable est de type chaîne. Si vrai est renvoyé, cela signifie que la variable est de type chaîne. Ensuite, utilisez la fonction is_int() pour vérifier si une variable est de type entier. De même, si true est renvoyé, cela signifie que la variable est de type entier. Enfin, utilisez la fonction is_float() pour vérifier si une variable est de type virgule flottante. De même, si true est renvoyé, cela signifie que la variable est de type virgule flottante. En utilisant ces fonctions, nous pouvons facilement vérifier le type d'une variable et effectuer les opérations appropriées si nécessaire.
Obtenez ce type de map[string]interface{}
因为我想允许同时包含 strings
和 integers
carte
Mais comment convertir la carte en map[string]string
et renvoyer une erreur si une valeur n'est « pas prise en charge » ?
value, ok := v.(string)
Si la valeur est un nombre entier, une erreur sera générée
Go prend en charge type switch :
Pour votre cas d'utilisation, cela ressemblerait à :
m := map[string]string{} for k,v := range values { switch value := v.(type) { switch value := v.(type) { case int: m[k] = fmt.Sprintf("%v", value) case float64: m[k] = fmt.Sprintf("%v", value) case string: m[k] = fmt.Sprintf("%v", value) default: return nil,fmt.Errorf("unknown type %T", v) } } return m,nil
Si vous le souhaitez, vous pouvez fusionner ces dossiers en un seul, par exemplehttps://www.php.cn/link/658953f1f681915f543a40eef9acb562
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!