existe-t-il un moyen de résoudre ou d'intrusion d'une variable identifiée d'une chaîne de son nom? p>
Par exemple, si j'ai une valeur de chaîne Je sais que si ceux-ci étaient des champs d'une structure, je pourrais utiliser la réflexion, mais pour mon étui d'utilisation, je traite des variables scopées localement qui ne font pas partie d'une structure ou d'une carte. P> strval: = "s" code> qui correspond au nom d'une variable telle que
var s chaîne code> qui est dans le même une fonction
La portée de la planification de la variable
s code>? p>
3 Réponses :
[I] F J'ai une valeur de chaîne strvale: = "S" qui correspond au nom d'une chaîne de Var S dans la même portée, puis-je rechercher de manière dynamique la valeur de S? P> blockQuote>
non. Une morte simple non. P>
Si vous souhaitez analyser lors de l'exécution d'une variable, vous pouvez utiliser un débogueur comme DLOWVE P>
Est-il possible d'utiliser Programmatiquement (au moment de l'exécution) d'utiliser DLOPVE pour identifier la valeur des variables par nom?
C'est super étrange votre idée, mais vous pourriez peut-être appeler directement une API de Delve pour obtenir ces informations, mais je pense que ce n'est pas une meilleure pratique -> blog.jetbrains.com/go/2018/04/30/...
Oui, il semble que je nagerais en amont. Mon cas d'utilisation est que je veux activer la métaprogramming similaire à eval code>, mais il semble que cela ne soit pas facile, et je devrais simplement éviter la situation entièrement.
Vous pourriez peut-être faire des concepts et des fragments de code de cet interpréteur-> github.com/containeux/yegi
Il semble que votre nuage extrait ces informations à partir d'une structure. exemple: p>
Ceci est aussi bon que vous pouvez aller aller, autant que je puisse dire. Merci!
Ils discutent de nombreuses nouvelles fonctionnalités à venir pour GO2 sur GitHub. Peut-être que vous pourriez créer un problème -> Github.com/golang/go/Labels/go2
Je pense que le moyen efficace de le faire est de garder les pointeurs de ces variables locales dans un fichier de registre global (une interface MAP [String]) et de mettre en œuvre des fonctions ou des méthodes d'accesseur de sécurité par conséquent. Cette solution a été adoptée par de nombreuses bibliothèques ... je pense être le plus idiomatique / promu
"Une variable aléatoire à Golang" - Pouvez-vous clarifier la manière dont vous imaginez l'identification de la variable aléatoire? D'une chaîne de son nom, par exemple?
Oui, d'une chaîne de son nom.