Maison > développement back-end > Golang > Comment puis-je afficher un contenu différent en fonction d'un objet nul et de valeurs de propriété dans les modèles Go ?

Comment puis-je afficher un contenu différent en fonction d'un objet nul et de valeurs de propriété dans les modèles Go ?

Barbara Streisand
Libérer: 2024-11-21 06:44:09
original
602 Les gens l'ont consulté

How Can I Display Different Content Based on a Nil Object and Property Values in Go Templates?

Autoriser les valeurs nulles dans les conditions des modèles

Lorsque vous travaillez avec des modèles Go, vous pouvez rencontrer des scénarios dans lesquels vous souhaitez afficher le contenu par défaut si un objet est nul, mais affiche un contenu différent si une propriété spécifique est définie. Bien qu'il soit possible d'utiliser des structures anonymes, cela peut introduire un passe-partout inutile.

Une solution polyvalente

Pour résoudre ce problème avec élégance, envisagez l'approche suivante :

Code modèle

{{if not .}}
   // default content
{{else if eq .MetaValue "some-x"}}
   // some-x case
{{else}}
   // other case
{{end}}
Copier après la connexion

Explication

Ce code modèle évalue l'expression suivante dans l'ordre :

  1. {{if not .}} : Vérifie si l'objet est nul ou vide (y compris faux, 0, tableaux/tranches/cartes vides ou chaînes vides). Si tel est le cas, le contenu par défaut est affiché.
  2. {{else if eq .MetaValue "some-x"}> : Vérifie si l'objet a une propriété MetaValue définie sur "some- x". Si tel est le cas, le contenu spécifique à cette propriété est affiché.
  3. {{else}} : si aucune des conditions précédentes n'est remplie, tout contenu restant peut être affiché.

En utilisant l'opérateur not au lieu de eq . nil, cette approche gère tous les scénarios possibles, y compris les situations où l'objet est nul, vide ou a une valeur autre que zéro. Cela élimine le besoin de vérifications nulles explicites ou l'introduction de structures anonymes inutiles, gardant vos modèles propres et concis.

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