Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verhindere ich ein abschließendes Komma in der Go-Vorlagen-Array-Ausgabe?

Wie verhindere ich ein abschließendes Komma in der Go-Vorlagen-Array-Ausgabe?

DDD
DDDOriginal
2024-11-02 11:58:02868Durchsuche

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

Letztes Element in einem Array mithilfe des Bereichs in Go-Vorlagen erkennen

In einer Go-Vorlage kann es vorkommen, dass Sie ein Array ohne abschließendes Komma drucken müssen nach dem letzten Element.

Bedenken Sie den folgenden Code:

<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>

Dieser Code Ausgaben:

1,4,2,

Um das abschließende Komma zu entfernen, können Sie die Vorlage wie folgt ändern:

<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>

Die entscheidende Änderung hier ist die Einführung der bedingten Anweisung {{if $i} },{{end}} innerhalb der Bereichsschleife. Lassen Sie uns aufschlüsseln, was dies bewirkt:

  • {{range $i, $el := .items}}: Diese Zeile initiiert eine Schleife über das Items-Array, wobei $i den Index und $el stellt das aktuelle Element dar.
  • {{if $i}},{{end}}: Innerhalb der Schleife prüft diese Bedingung, ob es nicht das erste Element im Array ist. Wenn es nicht das erste Element ist ($i ist nicht 0), wird ein Komma ausgegeben.
  • {{.el}}: Dieser Teil gibt das aktuelle Element im Array aus.
  • {{ end}}: Diese Zeile beendet die Schleife.
  • . am Ende der Vorlage: Abschließend fügen wir am Ende der Vorlage einen Punkt (".") hinzu, um die Ausgabe zu beenden.

Das obige ist der detaillierte Inhalt vonWie verhindere ich ein abschließendes Komma in der Go-Vorlagen-Array-Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn