断言类型转换
断言类型转换
断言通过判断变量是否可以转换成某一个类型
一个简单的断言表达式:
var s = x.(T)
如果x不是nil,且x可以转换成T类型,就会断言成功,返回T类型的变量s。如果T不是接口类型,则要求x的类型就是T,如果T是一个接口,要求x实现了T接口。
如果断言类型成立,则表达式返回值就是T类型的x,如果断言失败就会触发panic。
上述表所示再断言失败就会panic,go提供了另外一种带返回是否成立的断言语法:
s, ok := x.(T)
该方法和第一种差不多一样,但是ok会返回是否断言成功不会出现panic,ok就表示是否是成功了。
参考 https://segmentfault.com/a/1190000022255009

浙公网安备 33010602011771号