如果我有一个类型的名称(即“container/vector”),是否有方法查找具有给定名称的reflect.Type?我试图编写一个简单的数据库支持的工作队列系统,如果没有这个功能,这将非常困难。从名称中获取reflect.Type
1
A
回答
1
由于名称解析是编译器/链接器的一部分,而不是运行时,所以我无法看到这将如何以任何微不足道的方式(或根本不可能)。
但是,http://github.com/nsf/gocode可能会提供一些想法。虽然我很确定这是通过处理$ GOROOT中的.a文件来实现的,但我仍然不知道如何获得reflect.Type。也许如果exp/eval软件包更成熟?
当然,如果您知道所有可能遇到的类型,则可以随时制作reflect.Type的地图。但我假设你正在处理不可预知的输入,或者你会想到这一点。
0
只有创建reflect.Type
的方法是首先具有预期类型的具体值。您甚至不能从基本类型(T
)创建复合类型,例如切片([]T
)。
从string
到reflect.Type
的唯一方法是自己输入映射。
mapping := map[string]reflect.Type {
"string": reflect.Typeof(""),
"container/vector": reflect.Typeof(new(vector.Vector)),
/* ... */
}
相关问题
- 1. 从demangled名称获取错位名称
- 2. 从AbstractTableModel获取列名称
- 3. 从OrderedDictionary获取名称值
- 4. 从PID获取名称?
- 5. 从对象中获取对象名称
- 6. 从值中获取枚举名称?
- 7. 从asp.net中获取ldap的名称c#
- 8. VBA:从xml中获取属性名称
- 9. 从Flex中获取DataTable名称
- 10. 按名称从数组中获取值
- 11. 从mysql中获取列名称
- 12. SQLAlchemy从列中获取标签名称
- 13. 从MDB中获取队列名称
- 14. 从python包中获取模块名称
- 15. 从querset中获取名称+ otherinfo django
- 16. 从列表中获取列名称
- 17. 从另一个表中获取名称
- 18. 从列计数中获取列名称
- 19. 从消息中获取队列名称
- 20. 从扩展类中获取类名称
- 21. 从域名获取组织名称
- 22. 从文件名获取目录名称
- 23. 从模型名称中获取模块名称
- 24. SQLAlchemy从表和列名称中获取属性名称
- 25. 从软件包名称中获取应用程序名称
- 26. 学说:从名称表中获取一个随机名称
- 27. 从取坐标获取位置名称
- 28. 如何获取名称并从选择框中获取价值?
- 29. 按名称获取
- 30. 获取的名称