Maison >développement back-end >Golang >Comment fonctionnent les pipelines dans le moteur de modèles de Go ?
Go fournit deux packages de modèles : texte/modèle et html/modèle. Le package html/template se concentre sur la génération de sortie HTML en toute sécurité contre l’injection de code tout en partageant une interface avec texte/modèle. Par conséquent, les bases du traitement des modèles sont principalement documentées dans le package texte/modèle.
Comprendre les pipelines
Les pipelines font référence à des séquences d'évaluations de valeurs au sein d'un modèle. Elles sont constituées de commandes séparées par le caractère barre verticale « | ». Chaque commande peut être une valeur, un appel de fonction ou de méthode avec ses arguments, ou une méthode sans arguments lorsqu'elle est placée en fin de chaîne. Le résultat de chaque commande est transmis comme dernier argument à la commande suivante, le résultat de la commande finale représentant la valeur du pipeline.
Le symbole point (.)
Le point . est un curseur qui pointe vers l'emplacement actuel dans la structure de données transmise au modèle. Il pointe initialement vers la valeur transmise au modèle mais peut être modifié par des actions telles que {{range}} ou {{with}}.
Lorsque vous utilisez .Name dans votre modèle, vous faites référence au champ Nom ou méthode de la valeur actuellement pointée par le point. Si la valeur est une structure, .Name accédera au champ ou à la méthode correspondant au début du modèle.
Pipelines dans les inclusions du modèle
Lors de l'utilisation de {{template }}, vous spécifiez un pipeline pour transmettre la valeur de point actuelle au modèle inclus. La valeur transmise lors du pipeline devient le point à l'intérieur du modèle invoqué.
Utiliser $ pour accéder aux données d'origine
Comme le point peut changer pendant le traitement du modèle, le symbole $ est fourni pour accéder à la valeur d'origine transmise à l'exécution du modèle. Cela vous permet d'atteindre n'importe quelle partie de la valeur d'origine, même dans les invocations de modèles profondément imbriquées.
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!