断言有两种用法,
用法一
t := x.(type) // 获取空接口x的类型
// x是空接口类型对象,type是关键字,可以理解为系统自定义的保留变量名,不是类型
这种断言可以用于switch-case,根据对象的类型,分别做不同处理,例子:
用法二
这种go的断言=Java的“instance of + 强制类型转换”
value, ok := x.(T) // 判断对象x是否为T类型,如果是则强转为T类型并赋值给value,如果不是T类型,则返回error。
// x是一个对象,T表示一个具体的类型(也可为接口类型)。
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。