通过查询可以判断接口它指向的对象是否为某个类型
通过查询可以将原本为子集的 interface1 转为 interface2 类型,即 interface1 就可以调用原本属于 interface2 独有的方法
常见用法:
[plain]
view plain
copy
print
?
- if varName2, ok := varName1.(interface2|typeName); ok {
- //此时 varName2 的类型由 interface1 转为 interface2,或者 varName1 不是 typeName 类型的变量
- } else {
- //不能转换 interface,或者 varName1 不是 typeName 类型的变量
- }
a . varName2 保存 varName1 值,varName1 为 interface 变量, () 中为类型
b. varName.(type) 用于判断类型,不能用于 switch 外的逻辑中,此处的 type 关键字
PS:http://blog.csdn.net/chuangrain/article/details/9358737