如果我有一個類型的名稱(即「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. 獲取的名稱