Maison >développement back-end >Golang >Pourquoi mon modèle Go n'évalue-t-il pas les conditions avec des champs non exportés ?
Opération fastidieuse avec un modèle Go
En essayant d'effectuer une vérification conditionnelle dans un modèle Go, vous pouvez rencontrer des problèmes inattendus. Considérez le scénario suivant :
Vous avez déclaré une structure appelée Category avec un champ booléen nommé isOrientRight. Dans une boucle de plage itérant sur une tranche de structures Category, vous essayez d'utiliser des instructions {{if}} pour contrôler la sortie en fonction de la valeur de isOrientRight. Cependant, le modèle n'affiche qu'une page vide.
La solution
Pour résoudre ce problème, vous devez exporter les champs de la structure Category en mettant en majuscule leurs premières lettres . Par défaut, les champs non exportés (commençant par des lettres minuscules) ne sont accessibles que dans le package qui déclare le type. Dans ce cas, text/template et html/template sont des packages distincts, vous devez donc exporter les champs pour leur permettre d'y accéder.
Voici le code mis à jour :
type Category struct { ImageURL string
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!