首页 >后端开发 >Golang >检查变量是否为 string/int/float?

检查变量是否为 string/int/float?

PHPz
PHPz转载
2024-02-09 18:00:10716浏览

检查变量是否为 string/int/float?

php小编小新为您介绍如何检查变量是否为字符串、整数或浮点数。在PHP中,我们可以使用一些内置函数来实现这个目的。首先,使用is_string()函数可以检查一个变量是否为字符串类型。如果返回true,则表示该变量是字符串类型。接下来,使用is_int()函数可以检查一个变量是否为整数类型。同样地,如果返回true,则表示该变量是整数类型。最后,使用is_float()函数可以检查一个变量是否为浮点数类型。同样地,如果返回true,则表示该变量是浮点数类型。通过使用这些函数,我们可以轻松地检查变量的类型,并根据需要执行相应的操作。

问题内容

得到这种类型的 map[string]interface{} 因为我想允许同时包含 stringsintegers 的地图

但是如何将地图转换为 map[string]string 并在任何值“不支持”时返回错误?

value, ok := v.(string)

如果该值为整数,则会抛出错误

解决方法

Go 支持类型开关

对于您的用例,它看起来像:

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

如果您愿意,您可以将这些案例合并为一个案例,例如https://www.php.cn/link/658953f1f681915f543a40eef9acb562

以上是检查变量是否为 string/int/float?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除