Maison  >  Article  >  développement back-end  >  Comment puis-je restituer différents contenus HTML en fonction des valeurs de type dans les modèles Go ?

Comment puis-je restituer différents contenus HTML en fonction des valeurs de type dans les modèles Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 10:14:02629parcourir

How Can I Render Different HTML Content Based on Type Values in Go Templates?

Instructions Switch dans les modèles HTML Go

Lorsque vous traitez des structures Go qui contiennent des informations de type, il devient souvent nécessaire de restituer différents contenus HTML en fonction sur la valeur du type. Traditionnellement, la solution impliquait d'imbriquer plusieurs instructions {{if}}, créant ainsi des modèles encombrés et peu maniables.

Approche alternative : utiliser {{else if}}

Go HTML les modèles fournissent la directive {{else if}}, qui offre un moyen plus propre et plus efficace de gérer le rendu dépendant du type. Cette directive vous permet d'enchaîner plusieurs conditions, vous permettant d'écrire des modèles concis et lisibles.

Par exemple, considérons la structure Go suivante :

const (
    paragraph_hypothesis = 1 << iota
    paragraph_attachment = 1 << iota
    paragraph_menu       = 1 << iota
)

type Paragraph struct {
    Type int // paragraph_hypothesis or paragraph_attachment or paragraph_menu
}

Vous pouvez désormais restituer vos paragraphes dans un manière dépendante du type en utilisant le modèle suivant :

{{range .Paragraphs}}
    {{if .IsAttachment}}
        -- attachement presentation code --
    {{else if .IsMenu}}
        -- menu --
    {{else}}
        -- default code --
    {{end}}
{{end}}

En enchaînant plusieurs directives {{else if}}, vous pouvez gérer plusieurs valeurs de type sans avoir besoin de ressources dédiées. fonctions ou instructions {{if}} imbriquées. Cette approche permet de garder à la fois votre code Go et vos modèles propres et organisés.

Conclusion

L'utilisation de {{else if}} dans les modèles HTML Go offre un moyen puissant et efficace de gérer le rendu dépendant du type. Il vous permet de créer des modèles concis et lisibles sans l'encombrement des instructions {{if}} imbriquées et des fonctions inutiles.

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