go如何通过struct名称,获取到struct的实例?

baiyuxiong · · 6369 次点击
xuanWuObjs = make(map[string]func() IXuanWuObj) func RegisterXuanWuObj(classname string, constructor func() IXuanWuObj) { xuanWuObjs[classname] = constructor } func NewXuanWuObj(classname string) IXuanWuObj { constructor, ok := xuanWuObjs[classname] if !ok { return nil } return constructor() } func NewTest() *Test() { return &Test{} } func main(){ RegisterXuanWuObj("test", NewTest) NewXuanWuObj("test") }
#3
更多评论
不能修改?标题打错了,应该是: go如**何**通过struct名称,获取到struct的实例?
#1
polaris
社区,需要你我一同完善!
静态语言这种得反射支持。java中可以通过一定的规则加载字符串对应的类,进而实例化;目前 Go 中没法实现你这种需求。 ps:目前发布后不能修改,已经在开发,马上就可以修改了。
#2