Si j'ai un nom de type (par exemple "container/vector"), existe-t-il un moyen de rechercher le reflect.Type qui a le nom donné? J'essaye d'écrire un simple système de file d'attente soutenu par la base de données et ceci serait très difficile sans cette fonctionnalité.Obtenir un reflect.Type d'un nom
Répondre
Je ne vois pas comment cela serait possible de manière triviale (ou pas du tout), puisque la résolution de noms fait partie du compilateur/éditeur de liens, pas de l'exécution. Cependant, http://github.com/nsf/gocode peut offrir quelques idées. Bien que je suis sûr que cela fonctionne en traitant les fichiers .a dans $ GOROOT, donc je ne vois toujours pas comment vous obtiendriez le reflect.Type. Peut-être que si le paquet exp/eval était plus mature?
Bien sûr, si vous connaissez tous les types possibles que vous rencontrerez, vous pouvez toujours faire une carte du reflect.Type. Mais je suppose que vous travaillez avec des commentaires imprévisibles, ou vous auriez pensé à cela.
La seule façon de créer un reflect.Type
est d'avoir une valeur concrète du type voulu en premier. Vous ne pouvez même pas créer de types composites, tels qu'une tranche ([]T
), à partir d'un type de base (T
).
La seule façon de passer d'un string
à un reflect.Type
consiste à entrer vous-même le mappage.
mapping := map[string]reflect.Type {
"string": reflect.Typeof(""),
"container/vector": reflect.Typeof(new(vector.Vector)),
/* ... */
}
- 1. Obtenir un nom de fichier exécutable efficace
- 2. obtenir un nom de fichier différent
- 3. Comment obtenir seulement un nom de fichier?
- 4. Comment obtenir un nom de classe?
- 5. Comment obtenir un nom d'utilisateur dans asax?
- 6. obtenir nom complet
- 7. comment utiliser un délégué pour obtenir par nom un CompiledQuery
- 8. obtenir le nom global d'erreur
- 9. obtenir le nom de l'application
- 10. Obtenir le nom de l'appareil
- 11. Obtenir chaîne propriété nom expression
- 12. Obtenir une ligne # et un nom de proc dans asp.net
- 13. RTTI: Puis-je obtenir un type par nom?
- 14. Obtenir le nom spécifique à C# pour un framework System.Type?
- 15. Obtenir le nom d'hôte réel (virtuel) sous un serveur d'application
- 16. aide System.Reflection pour obtenir un nom complet de la méthode
- 17. Obtenir le nom de vue actuel résidant dans un UIWindow
- 18. Erlang: obtenir le "nom enregistré" associé à un "pid"
- 19. Obtenir un nom de classe avec des informations génériques
- 20. comment obtenir des éléments ayant un nom particulier d'un NSMutableArray?
- 21. comment obtenir le nom de l'application pour un google doc?
- 22. Obtenir un contrôle Windows Forms par nom dans C#
- 23. Comment obtenir un nom de domaine via JavaScript?
- 24. Comment obtenir un nom de fichier à partir d'un chemin?
- 25. Obtenir un nom de dossier à partir d'un chemin
- 26. Comment obtenir le nom de l'onglet dans un usercontrol umbraco
- 27. Obtenir un nom de domaine se basant sur l'adresse IP
- 28. Géocodage inverse pour obtenir un nom d'entreprise réel
- 29. Obtenir le nom de l'ordinateur dans un service Windows?
- 30. obtenir tous les éléments qui ont un nom d'élément particulier