卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34975本站已运行393

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

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

卓越飞翔博客
上一篇: 无法连接到 psql 数据库
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏