Go assert 断言

应用场景

由于接口是用于多态,计算机不知道具体的类型,所以就需要我们使用断言来转化成具体的类型
使用断言的时候,如果类型不匹配就会包panic错误

assert return value

我们在使用断言的时候有两个返回值,第一个是断言之后返回的相应类型的数据,第二个是断言是否成功的bool

使用

if desTypeInstance, ok := usb.(DesType); ok {
    // 上面的 usb.(DestType) 就是断言
    desTypeInstance.Call()
}