Maison >développement back-end >Golang >Comment gérer le dernier élément des listes séparées par des virgules des modèles de texte Go ?

Comment gérer le dernier élément des listes séparées par des virgules des modèles de texte Go ?

DDD
DDDoriginal
2024-12-06 22:59:12335parcourir

How to Handle the Last Element in Go's Text Template Comma-Separated Lists?

Traitement du dernier élément dans les modèles de texte de Go

Lors de l'utilisation des modèles de texte de Go pour générer une liste séparée par des virgules, il devient nécessaire de gérer le placement d'une virgule pour le dernier élément différemment.

Solution :

La solution consiste à utiliser la capacité d'un modèle à attribuer des variables pendant l'itération. En attribuant une deuxième variable à l'index d'itération, on peut distinguer le dernier élément des autres. Le modèle suivant le démontre :

{{ $i := . }}
({{ range $i }}{{ . }}, {{if eq $index (len $. - 1)}}{{/* Empty */}}{{else}},{{end}}{{end}})

Dans ce modèle, nous initialisons une variable $i à la tranche de valeurs transmise au modèle. Dans l'itération de plage, nous attribuons une deuxième variable $index à l'index de chaque élément.

Explication :

  • Nous utilisons {{range $i} } pour parcourir la tranche, en définissant $i sur chaque élément.
  • L'expression {{if eq $index (len $. - 1)}} vérifie si le $index actuel est égal à la longueur de la tranche moins un, ce qui est vrai pour le dernier élément.
  • Lorsque la condition est vraie, la directive {{/* Empty */}} est exécutée, ce qui ne fait rien (commentaire dans le modèle).
  • Lorsque faux, nous affichons 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!

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