断言有两种用法,

用法一

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://c.biancheng.net/view/4281.html

posted on 2023-02-01 17:51  西伯尔  阅读(44)  评论(0编辑  收藏  举报