首页 > 后端开发 > Golang > 正文

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

PHPz
发布: 2024-02-09 18:00:10
转载
684 人浏览过

检查变量是否为 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!