Maison  >  Article  >  développement back-end  >  Comment puis-je gérer les valeurs nulles et le rendu conditionnel basé sur les propriétés dans les modèles Go ?

Comment puis-je gérer les valeurs nulles et le rendu conditionnel basé sur les propriétés dans les modèles Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 10:14:02847parcourir

How Can I Handle Nil Values and Property-Based Conditional Rendering in Go Templates?

Exploiter les modèles Go pour gérer les valeurs nulles et le rendu conditionnel basé sur les propriétés

Dans votre modèle, vous souhaitez afficher les balises méta par défaut dans le absence de métadonnées spécifiées, tout en permettant des balises méta personnalisées lorsqu'une propriété spécifique est définie. Vous recherchez une solution élégante qui évite d'ajouter du code passe-partout à la plupart de vos gestionnaires.

Pour résoudre ce problème, les modèles fournissent la fonction not, qui est évaluée comme vraie si la valeur transmise est nulle ou vide (par exemple, false , 0, tableaux vides, tranches, cartes et chaînes). Cela vous permet de construire votre bloc conditionnel comme suit :

{{if not .}}
   // output when . is nil or otherwise empty
{{else if eq .MetaValue "some-x"}}
       // some-x case
{{else}} 
       // other case
{{end}}

Cette approche vous permet de gérer de manière concise les valeurs nulles et non nulles, et de restituer de manière conditionnelle les balises méta en fonction de la présence ou de l'absence d'une propriété spécifique. En utilisant la fonction not, vous pouvez efficacement surmonter les limitations liées à l'utilisation de structures anonymes et éliminer le besoin d'un code passe-partout excessif dans vos gestionnaires. Cela fournit une solution propre et efficace pour gérer le rendu conditionnel dans vos modèles.

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