对接口类型变量可以使用类型断言来判断变量是否是某类型,语法:val := i.(targetType)或val, ok := i.(targetType),
其中:
i必须是接口类型变量;targetType可以是具体类型(即非接口类型),也可以是接口类型。是具体类型时,则断言接口变量的动态类型;是接口类型时,则断言接口变量的动态类型是否实现了该接口。
使用var _ someInterface = (*someType)(nil)可以通过编译来判断*someType是否实现了someInterface接口。