Maison > développement back-end > Golang > Comment puis-je créer efficacement des structures HTML répétitives dans les modèles Go ?

Comment puis-je créer efficacement des structures HTML répétitives dans les modèles Go ?

Linda Hamilton
Libérer: 2024-12-20 17:50:17
original
878 Les gens l'ont consulté

How Can I Efficiently Create Repeating HTML Structures in Go Templates?

Création de structures HTML répétitives avec des modèles Go

Dans les applications Web Go, il arrive parfois que la génération itérative d'éléments HTML devienne nécessaire. Par exemple, la création de liens de pagination dans une liste peut nécessiter de dupliquer plusieurs fois une ligne de code. Cet article présente une solution efficace utilisant les modèles Go et leurs capacités de bouclage inhérentes.

Exploiter l'action {{range}}

Pour réaliser la répétition dans les modèles, Go s'appuie sur l'action {{range}}. Cependant, cette action attend une structure de données itérable, telle qu'une tranche, un tableau ou une carte. Pour faciliter cela, vous pouvez transmettre une tranche vide au modèle, car les tranches vides consomment une surcharge de mémoire minimale.

Mise en œuvre de la solution

Considérez le modèle suivant qui génère la pagination liens :

<ul>
{{range $idx, $e := .}}
    <li><a href="/?page={{$idx}}">{{idx}}</a></li>
{{end}}
</ul>
Copier après la connexion

Dans le code de test qui l'accompagne, nous initialisons une tranche d'une longueur spécifique et la transmettons au modèle :

func main() {
    tmpl := template.Must(template.New("").Parse(templ))
    n := 5
    if err := tmpl.Execute(os.Stdout, make([]struct{}, n)); err != nil {
        panic(err)
    }
}
Copier après la connexion

Cela donne le résultat suivant :

<ul>
    <li><a href="/?page=0">0</a></li>
    <li><a href="/?page=1">1</a></li>
    <li><a href="/?page=2">2</a></li>
    <li><a href="/?page=3">3</a></li>
    <li><a href="/?page=4">4</a></li>
</ul>
Copier après la connexion

Personnalisation des éléments numérotés

Si l'indexation par défaut (à partir de 0 ) ne convient pas, vous pouvez choisir de personnaliser le numéro affiché. Deux approches s'offrent à vous :

1. Remplissage des tranches : Attribuez des valeurs explicites aux éléments de tranche.

2. Utilisation de fonctions personnalisées : Définissez une fonction qui incrémente les nombres et appelez-la dans le modèle.

Ces deux méthodes vous permettent de contrôler la numérotation des éléments générés.

En tirant parti de la flexibilité des modèles Go et de ces techniques, vous pouvez rationaliser le processus de répétition des structures HTML dans vos applications Web Golang.

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