Golang中的Activator.CreateInstance()模拟

Golang中的Activator.CreateInstance()模拟,go,plugins,reflection,Go,Plugins,Reflection,在C中,有一个类Activator的CreateInstance方法,它允许您创建反射类型的实例,如图所示 有没有一种方法可以在Go编程语言中实现同样的功能?我想从plugin.so(Linux上)或.dll(Windows上)中获取类型的名称,并在代码中创建此类型的实例。我该怎么做 有没有一种方法可以在Go编程语言中实现同样的功能 没有 我想从plugin.so(Linux上)或.dll(Windows上)中获取类型的名称,并在代码中创建此类型的实例。我该怎么做 你不能。很抱歉你必须重新设计。

在C中,有一个类Activator的CreateInstance方法,它允许您创建反射类型的实例,如图所示

有没有一种方法可以在Go编程语言中实现同样的功能?我想从plugin.so(Linux上)或.dll(Windows上)中获取类型的名称,并在代码中创建此类型的实例。我该怎么做

有没有一种方法可以在Go编程语言中实现同样的功能

没有

我想从plugin.so(Linux上)或.dll(Windows上)中获取类型的名称,并在代码中创建此类型的实例。我该怎么做


你不能。很抱歉你必须重新设计。围棋不是C,有不同的规则。一条规则是,不能仅凭名称创建类型的实例。但是,如果你的插件通过某种注册表(想想软件包映像)宣布它包含哪些类型及其名称,那么你的主代码可以在该注册表中查找名称和类型并正常反映。

可能重复@icza No,它不是。你提到的问题解决不了我的问题。我说的是插件,所以我的类型在执行时存在。