Maison > développement back-end > Golang > Comment puis-je accéder dynamiquement aux noms de variables dans un système de modèles Go ?

Comment puis-je accéder dynamiquement aux noms de variables dans un système de modèles Go ?

Mary-Kate Olsen
Libérer: 2024-11-25 05:25:15
original
251 Les gens l'ont consulté

How Can I Dynamically Access Variable Names in a Go Template System?

Comment accéder dynamiquement aux noms de variables à l'aide de Reflection

Question :

Dans un modèle personnalisé système, comment récupérer dynamiquement les noms des variables stockées dans une tranche ? Plus précisément, nous visons à remplacer les espaces réservés dans un modèle (par exemple, {{onevar}}) par les valeurs de variable correspondantes.

Réponse :

Accéder aux noms de variables tels qu'ils apparaître dans le code source n’est pas possible lorsque l’on travaille avec leurs valeurs stockées dans une tranche. En effet, la tranche contient les valeurs elles-mêmes, et non des références aux variables d'origine ou à leurs noms.

Exemples de tentatives :

Vous avez mentionné avoir tenté d'utiliser la réflexion pour y parvenir. , mais il semble y avoir un malentendu. Reflection in Go fournit des informations sur les types et les valeurs au moment de l'exécution, mais n'a pas la capacité de récupérer les noms de variables à partir de leurs valeurs.

Solution :

Pour obtenir la fonctionnalité souhaitée , il est recommandé d'utiliser une carte au lieu d'une tranche. Une carte associe des clés à des valeurs, où les clés peuvent être utilisées comme identifiants pour les valeurs. En stockant les noms de variables sous forme de clés et les valeurs dans une carte correspondante, vous pouvez facilement remplacer les espaces réservés par les valeurs réelles des variables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal