5. interface 查询
  通过查询可以判断接口它指向的对象是否为某个类型
  通过查询可以将原本为子集的 interface1 转为 interface2 类型,即 interface1 就可以调用原本属于 interface2 独有的方法
  常见用法:
[plain]  view plain  copy
 print ?
  1. if varName2, ok := varName1.(interface2|typeName); ok {  
  2.   //此时 varName2 的类型由 interface1 转为 interface2,或者 varName1 不是 typeName 类型的变量  
  3. } else {  
  4.   //不能转换 interface,或者 varName1 不是 typeName 类型的变量  
  5. }  
  注:
   a . varName2 保存 varName1 值,varName1 为 interface 变量, () 中为类型

  b. varName.(type) 用于判断类型,不能用于 switch 外的逻辑中,此处的 type 关键字


PS:http://blog.csdn.net/chuangrain/article/details/9358737