Maison > développement back-end > Golang > Comment empêcher une virgule de fin dans la sortie du tableau de modèles Go ?

Comment empêcher une virgule de fin dans la sortie du tableau de modèles Go ?

DDD
Libérer: 2024-11-02 11:58:02
original
944 Les gens l'ont consulté

How to Prevent a Trailing Comma in Go Template Array Output?

Détecter le dernier élément d'un tableau à l'aide d'une plage dans les modèles Go

Dans un modèle Go, vous pouvez rencontrer une situation dans laquelle vous devez imprimer un tableau sans virgule finale après le dernier élément.

Considérez le code suivant :

<code class="go">package main

import "os"
import "text/template"

func main() {
    params := map[string]interface{}{
        "items": [3]int{1, 4, 2},
    }
    tpl := "{{range $i, $el := .items}}{{$el}},{{end}}"
    lister, _ := template.New("foo").Parse(tpl)
    lister.Execute(os.Stdout, params)
}</code>
Copier après la connexion

Ce code génère :

1,4,2,
Copier après la connexion

Pour supprimer la virgule de fin, vous pouvez modifier le modèle en :

<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>
Copier après la connexion

Le changement critique ici est l'introduction de l'instruction conditionnelle {{if $i}},{{end}} à l'intérieur de la boucle de plage. Décomposons ce que cela fait :

  • {{range $i, $el := .items}} : Cette ligne initie une boucle sur le tableau items, où $i représente l'index et $el représente l'élément actuel.
  • {{if $i}},{{end}} : à l'intérieur de la boucle, ce conditionnel vérifie s'il ne s'agit pas du premier élément du tableau. Si ce n'est pas le premier élément ($i n'est pas 0), il imprime une virgule.
  • {{.el}} : Cette partie imprime l'élément actuel dans le tableau.
  • {{ end}} : Cette ligne termine la boucle.
  • . à la fin du modèle : Enfin, nous ajoutons un point ("".") à la fin du modèle pour terminer la sortie.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal