Heim > Backend-Entwicklung > Golang > Wie entferne ich abschließende Kommas in Go-Vorlagenbereichsschleifen ohne benutzerdefinierte Funktionen?

Wie entferne ich abschließende Kommas in Go-Vorlagenbereichsschleifen ohne benutzerdefinierte Funktionen?

DDD
Freigeben: 2024-12-07 18:26:13
Original
815 Leute haben es durchsucht

How to Remove Trailing Commas in Go Template Range Loops Without Custom Functions?

Entfernen von Kommas in Range-Loop-Vorlagen mit Go

In Go-Vorlagenschleifen erscheint oft nach jeder Iteration ein Komma, das die Ausgabe trennt. Zum Beispiel:

key:a value:b, key:c value:d,
Nach dem Login kopieren

Um dieses Komma zu eliminieren, wird nach einer Lösung gesucht, die keine benutzerdefinierten Funktionen verwendet.

Antwort:

Wie Ab Go 1.11 ist es möglich, Vorlagenvariablen direkt zu ändern. Dies ermöglicht die Entfernung von Kommas durch die folgende Vorlage:

{{$first := true}}
{{range $key, $value := $}}
    {{if $first}}
        {{$first = false}}
    {{else}}
        ,
    {{end}}
    key:{{$key}} value:{{$value}}
{{end}}
Nach dem Login kopieren

Innerhalb dieser Vorlage wird eine Variable $first auf „true“ initialisiert. Während der Schleife wird geprüft, ob dies die erste Iteration ist, und wenn ja, wird $first auf „false“ gesetzt, um Kommas bei nachfolgenden Iterationen zu verhindern.

Beispiel:

type Map map[string]string

m := Map{
    "a": "b",
    "c": "d",
    "e": "f",
}

const temp = `{{$first := true}}{{range $key, $value := $}}{{if $first}}{{$first = false}}{{else}}, {{end}}key:{{$key}} value:{{$value}}{{end}}`

t := template.Must(template.New("example").Parse(temp))
t.Execute(os.Stdout, m)
Nach dem Login kopieren

Ausgabe:

key:a value:b, key:c value:d, key:e value:f
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie entferne ich abschließende Kommas in Go-Vorlagenbereichsschleifen ohne benutzerdefinierte Funktionen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage