Maison >développement back-end >Golang >Vérifier si la variable est string/int/float ?

Vérifier si la variable est string/int/float ?

PHPz
PHPzavant
2024-02-09 18:00:10715parcourir

检查变量是否为 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.

Contenu des questions

Obtenez ce type de map[string]interface{} 因为我想允许同时包含 stringsintegerscarte

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

Solution de contournement

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer