当前位置: 首页 > 面试题库 >

如何获取接口的reflect.Type?

齐昊
2023-03-14
问题内容

为了确定给定类型是否使用reflect包实现接口,您需要将reflect.Type传递给reflect.Type.Implements()。您如何获得这些类型之一?

作为一个例子,试图获得未初始化的os.Error(接口)类型的类型并 没有 工作(它恐慌的时候,你要调用它的种类())

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

问题答案:

像这样做:

var err *os.Error
t := reflect.TypeOf(err).Elem()

或一行:

t := reflect.TypeOf((*os.Error)(nil)).Elem()


 类似资料:
  • 问题内容: 到目前为止,我使用PyQt类所做的事情: 输出: 使用: 输出: 有没有办法区分它们? 可以使用普通的Python代替PyQt类吗? 如何获得IPv6地址? 问题答案: 您应该使用netifaces。它被设计为跨平台的,并且包含Windows专用代码以及可在不同UNIX / UNIX类平台上工作的各种通用版本。 从netifaces版本0.10.0开始,支持Python3。 使用摘要

  • 问题内容: 看来android的java.net.NetworkInterface实现没有 byte [] getHardwareAddress()方法 http://developer.android.com/reference/java/net/NetworkInterface.html 我发现有几个论坛的人都试图这样做,但没有明确的答案,我需要获得一个跨设备的UUID,所以我不能依赖电话号码

  • 我想实现一些类似于Spring数据的东西。 在spring初始化期间,我需要获得所有接口的列表(适当地注释)<为接口创建动态代理,并将它们注入到需要的地方。 代理创建,创建bean注入就可以了。现在问题来了: 如何找到所有接口的列表? 因此,我需要一个基本包的完整列表,通过Spring扫描在包中找到我的接口(必须快得多)。 在SpringContext中肯定可以获得这些信息。我试图调试并查看bas

  • 我想得到由接口实现的子类名。例如 在我的代码中,我声明了接口A,并将值设置为其中一个类。所以我有这样的: 现在我想得到当前的子类名称,比如B、C或其他什么,但我不想用instanceof,因为我有很多子类,这使得代码不必要太长。我基本上是在寻找这个,但是getChild()当然不存在。 提前谢谢!

  • 我了解到JNI接口指针(JNIEnv*)仅在当前线程中有效。假设我在本机方法中启动了一个新线程;它如何异步将事件发送到Java方法?因为这个新线程不能引用(JNIEnv*)。存储(JNIEnv*)的全局变量显然不起作用?

  • 问题内容: 我想使用env文件中定义的端口号,可以吗?以下是我的docker-compose.yml的内容: 这是env_file.env的内容 但是出现了一些错误: 如果有可能,我应该怎么做?谢谢 @lvthillo,感谢您之前的回复。但是我还有另一个问题,就是我的烧瓶应用程序无法访问该端口。代码如下所示 因为flask应用程序需要使用与容器相同的端口运行。有什么办法可以在docker-comp