Go assert 断言
应用场景
由于接口是用于多态,计算机不知道具体的类型,所以就需要我们使用断言来转化成具体的类型
使用断言的时候,如果类型不匹配就会包panic错误
assert return value
我们在使用断言的时候有两个返回值,第一个是断言之后返回的相应类型的数据,第二个是断言是否成功的bool
使用
if desTypeInstance, ok := usb.(DesType); ok {
// 上面的 usb.(DestType) 就是断言
desTypeInstance.Call()
}