检查类型断言 v.(T) 和相应的类型切换情况,其中 v 的静态类型 V 是不可能实现目标接口的接口 T。 当 V 和 T 包含名称相同但签名不同的方法时,会发生这种情况。
v.(T)
v
V
T
示例:
var v interface { Read() } _ = v.(io.Reader)
v 中的 Read 方法与 io.Reader 中的 Read 方法具有不同的签名,因此该断言将失败。
Read
io.Reader
仅当语言版本为 1.15 或更高时才报告此检查。