我试图进行搜索并弄清楚它是如何工作的,但是我很难找到一个解释。
如果我的变量data类型为interface{}(data interface{})
data
interface{}
data interface{}
怎么eventData :=data.(map[string]interface{})办?我知道接口可以代表很多事情,但是他在这里发生的事情的高层概述是什么?
eventData :=data.(map[string]interface{})
这是一个类型断言:
类型断言提供对接口值的基础具体值的访问。
t := i.(T)
https://tour.golang.org/methods/15
如果该断言不成立,则会引发恐慌。要测试该值是否为特定类型T,可以使用以下命令:
t, ok := i.(T)
Ok是一个布尔值,即true声明是否成立,false否则成立。
true
false