Maison > Article > développement back-end > Comment puis-je imprimer une période après le dernier élément d'une plage de modèles Go ?
Détection du dernier élément d'un tableau à l'aide de plages dans les modèles Go
Dans les modèles Go, lors d'une itération sur un tableau à l'aide de la directive range, il peut être difficile d'éviter d'imprimer une virgule après le dernier élément. Cela peut entraîner une sortie inattendue ou incorrecte lors du rendu des données sous forme de texte.
Problème :
Le modèle Go suivant génère des virgules après chaque élément d'un tableau :
{{range $i, $el := .items}}{{$el}},{{end}}
Le résultat souhaité, cependant, est d'imprimer un point après le dernier élément :
1,4,2.
Solution :
Pour imprimer un point après le dernier élément du tableau, le modèle peut être modifié comme suit :
<code class="text">{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}.</code>
L'astuce ici est d'utiliser l'expression conditionnelle {{if $i}} pour émettre le séparateur virgule avant chaque élément, sauf pour le premier. En ajoutant un point après l'accolade fermante de la directive range, le programme garantit qu'un point est imprimé après le dernier élément.
Ce modèle mis à jour parcourra le tableau et imprimera chaque élément avec un séparateur par virgule, sauf le premier. Après le dernier élément, un point sera imprimé au lieu d'une virgule.
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!