确定接口的reflect.Type
要确定类型是否使用reflect包实现接口,需要提供一个reflect.Type到reflect.Type.Implements()。然而,获取这种类型有时看起来很神秘,尤其是对于错误这样的未初始化接口。
未初始化错误接口
尝试确定未初始化错误的类型(接口)当 Kind() 为
解决办法
要正确获取像error这样的接口的类型,需要先创建一个指向接口的指针,然后使用Elem()结果类型。这可以通过两种方式完成:
详细方法:
var err error t := reflect.TypeOf(&err).Elem()
单行方法:
t := reflect.TypeOf((*error)(nil)).Elem()
通过遵循这些方法,您可以有效地检索接口的reflect.Type,无论其初始化如何状态。
以上是Go中如何获取未初始化接口的reflect.Type?的详细内容。更多信息请关注PHP中文网其他相关文章!