gpt4 book ai didi

go - 如何获取接口(interface)的reflect.Type?

转载 作者:IT老高 更新时间:2023-10-28 13:04:29 31 4
gpt4 key购买 nike

为了确定给定类型是否使用反射包实现接口(interface),您需要将反射.Type 传递给反射.Type.Implements()。您如何获得其中一种类型?

例如,尝试获取未初始化的 error (接口(interface))类型的类型 not 工作(当你调用 Kind() 时它会 panic )

var err error
fmt.Printf("%#v\n", reflect.TypeOf(err).Kind())

最佳答案

这样做:

var err error
t := reflect.TypeOf(&err).Elem()

或者在一行中:

t := reflect.TypeOf((*error)(nil)).Elem()

关于go - 如何获取接口(interface)的reflect.Type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7132848/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com