Maison >développement back-end >Golang >Comment personnaliser dynamiquement le contenu d'un modèle en fonction de la disponibilité des objets dans Go ?

Comment personnaliser dynamiquement le contenu d'un modèle en fonction de la disponibilité des objets dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 11:53:01751parcourir

How to Dynamically Customize Template Content Based on Object Availability in Go?

Personnalisation du contenu du modèle en fonction de la disponibilité des objets

Dans votre modèle, vous souhaitez afficher les balises méta par défaut, sauf si une propriété spécifique est définie, dans auquel cas un texte différent doit être affiché. Bien qu'il soit possible d'utiliser une structure anonyme pour définir les valeurs de propriété pour 90 % des gestionnaires, cela introduit une complexité inutile.

Pour obtenir la fonctionnalité souhaitée, vous pouvez utiliser les fonctions not et vide intégrées dans les modèles Go. Voici comment procéder :

{{if not .}}
   <!-- Output for nil or empty values, including false, 0, and any array, slice, map, or string of length zero -->
{{else if eq .MetaValue "some-x"}}
   <!-- Output for "some-x" property value -->
{{else}} 
   <!-- Output for non-empty values other than "some-x" -->
{{end}}

Ce code vérifiera d'abord si le .MetaValue est nul ou vide. Si c'est le cas, la première section s'exécutera. Si la MetaValue n'est pas nulle ou vide, la deuxième section vérifiera si elle est égale à « some-x ». Si c'est le cas, la deuxième section s'exécutera. Sinon, la troisième section s'exécutera.

En utilisant cette approche, vous pouvez éviter d'ajouter du code passe-partout aux gestionnaires qui transmettent actuellement zéro et toujours contrôler dynamiquement le contenu affiché dans votre modèle en fonction de la présence ou de la valeur d'une propriété.

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!

Déclaration:
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