go 中 interface{}转换成map
时间: 2023-02-09 12:50:41 浏览: 68
对象与map 的转换
在 Go 语言中,使用类型断言将 interface{} 类型转换为 map 类型。例如:
```
var m interface{}
// m 赋值为一个 map
mMap, ok := m.(map[string]interface{})
if !ok {
// m 不是 map[string]interface{} 类型
return
}
// m 是 map[string]interface{} 类型,可以使用 mMap 进行操作
```
类型断言语法为 `x.(T)`,其中 `x` 是一个 interface{} 类型的变量,`T` 是要断言的类型。类型断言会返回两个值:转换后的值和一个布尔值,表示转换是否成功。
注意:如果 x 的动态类型不是 T 类型,类型断言会在运行时 panic。所以一定要判断断言是否成功,在断言成功的情况下再使用转换后的值。
阅读全文