Maison > développement back-end > Golang > Comment accéder aux données du pipeline parent dans la plage dans les modèles Go ?

Comment accéder aux données du pipeline parent dans la plage dans les modèles Go ?

Susan Sarandon
Libérer: 2024-11-11 15:10:03
original
704 Les gens l'ont consulté

How to Access Parent Pipeline Data within Range in Go Templates?

Accès au pipeline parent dans la plage dans les actions du modèle

Dans les modèles Go, il est courant d'utiliser des pipelines de plage pour parcourir des tranches ou des cartes. Cependant, un problème fréquent survient lorsque l’on tente d’accéder à des données en dehors de la portée immédiate du pipeline. Cet article explique comment y parvenir.

Utilisation de la variable $ (recommandé)

La documentation texte/modèle précise que lorsque l'exécution commence, la variable $ fait référence aux données argument passé à Execute. Cela signifie que nous pouvons accéder aux données de portée externe en utilisant $.variable.

Par exemple, considérons ce modèle :

const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`
Copier après la connexion

Ici, .Files fait référence à une tranche de fichiers, mais nous souhaitez accéder au chemin de la structure scriptFiles englobante. L'utilisation de $.Path nous permet de le faire.

Utilisation d'une variable personnalisée (méthode héritée)

Une méthode alternative consiste à créer une variable personnalisée à transmettre dans la portée de la plage , comme démontré dans ce modèle :

const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`
Copier après la connexion

En définissant $p sur .Path avant le pipeline de plage, nous pouvons accéder au chemin dans le pipeline.

Remarque : La méthode $ variable est recommandée car c'est l'approche la plus concise et idiomatique dans les versions Go actuelles.

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