Wie vermeide ich ein Komma nach dem letzten Element in einem Go-Vorlagenbereich?

Patricia Arquette
Freigeben: 2024-11-01 07:17:30
Original
214 Leute haben es durchsucht

How to Avoid a Comma After the Last Element in a Go Template Range?

Erkennen des letzten Elements in einem Array mithilfe von Bereichen in Go-Vorlagen

In Go-Vorlagen wird beim Durchlaufen eines Arrays mithilfe des Schlüsselworts „range“ automatisch ein Kommatrennzeichen eingefügt zwischen jedem Element. Während dieses Verhalten in den meisten Fällen nützlich ist, kann es zu einem Problem werden, wenn die gewünschte Ausgabe einen Punkt anstelle eines Kommas nach dem letzten Element erfordert.

Betrachten Sie das folgende Programm:

<code class="go">package main

import (
    "os"
    "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>
Nach dem Login kopieren

Dieses Programm gibt Folgendes aus:

1,4,2,
Nach dem Login kopieren

Beachten Sie, dass nach dem letzten Element (2) ein Komma steht. Allerdings würden wir die Ausgabe wie folgt bevorzugen:

1,4,2.
Nach dem Login kopieren
Nach dem Login kopieren

Um dies zu erreichen, können wir die Vorlage wie folgt ändern:

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

Der Hauptunterschied hier ist die Einführung von { {if $i}},{{end}} Konstrukt. Diese bedingte Anweisung prüft, ob die aktuelle Schleifeniteration nicht die erste ist, und gibt in diesem Fall ein Komma aus. Dadurch wird sichergestellt, dass ein Komma nur zwischen Elementen im Array eingefügt wird und nicht nach dem letzten Element.

Durch die Einbeziehung dieser Änderung gibt das Programm nun Folgendes aus:

1,4,2.
Nach dem Login kopieren
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie vermeide ich ein Komma nach dem letzten Element in einem Go-Vorlagenbereich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!