Maison >développement back-end >Golang >Comment démarrer les index de modèles Go à partir de 1 ?

Comment démarrer les index de modèles Go à partir de 1 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-12 03:06:02305parcourir

How to Start Go Template Indexes from 1?

Fonctions arithmétiques personnalisées dans les modèles Go

Dans les modèles Go, l'action de plage offre un moyen pratique de parcourir les collections et d'accéder à la fois à l'index et l'élément. Cependant, l'index par défaut commence à 0. Pour obtenir un système de numérotation plus convivial à partir de 1, une fonction personnalisée peut être définie.

Mise en œuvre de la fonction personnalisée

La clé est d'étendre la carte des fonctions intégrée du modèle avec une nouvelle fonction. Dans l'exemple fourni, la fonction s'appelle "inc" et prend un entier comme argument. Au sein de la fonction, une simple opération d'incrémentation est effectuée.

func inc(i int) int {
    return i + 1
}

Application de la fonction dans le modèle

Une fois la fonction personnalisée définie, elle peut être invoquée dans le modèle en utilisant la syntaxe suivante :

{{inc $index}}, Text: {{element}}

Cette ligne calcule l'index incrémenté et l'affiche sous la forme "Nombre :" avant le réel element.

Exemple d'utilisation

Considérez un tableau de chaînes :

var strs []string
strs = append(strs, "test1")
strs = append(strs, "test2")

Lorsque le modèle est exécuté avec ce tableau, la sortie ressemblerait comme :

Number: 1, Text: test1
Number: 2, Text: test2

Démontrer la modification réussie des valeurs d'index pour commencer à 1 au lieu de 0.

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