php小编小新为您介绍如何检查变量是否为字符串、整数或浮点数。在PHP中,我们可以使用一些内置函数来实现这个目的。首先,使用is_string()函数可以检查一个变量是否为字符串类型。如果返回true,则表示该变量是字符串类型。接下来,使用is_int()函数可以检查一个变量是否为整数类型。同样地,如果返回true,则表示该变量是整数类型。最后,使用is_float()函数可以检查一个变量是否为浮点数类型。同样地,如果返回true,则表示该变量是浮点数类型。通过使用这些函数,我们可以轻松地检查变量的类型,并根据需要执行相应的操作。
问题内容
得到这种类型的 map[string]interface{}
因为我想允许同时包含 strings
和 integers
的地图
但是如何将地图转换为 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?的详细内容,更多请关注编程网其它相关文章!