本文简单介绍一下golang中断言的使用。
1. 类型断言
类型断言主要是对interface类型的数据,断言为真是存在的数据。
1.1 触发panic
触发panic的用法如下:
1 | t := i.(T) |
判断一下interface变量i是不是T数据类型,如果是,返回T类型的结果t,如果不是,触发panic
1 | var i interface{} = 10 |
1.2 不触发panic
不触发panic的用法如下
1 | t, ok := i.(T) |
如果断言成功,ok为true,t为断言以后的结果,如果断言失败,ok为false,t为T的零值(即如果是string就是””,如果是int就是0,如果是bool就是false)
2. switch type断言
如果需要区分多种类型,那么需要使用switch type 来进行。
1 | func findType(i interface{}) { |