Heim >Backend-Entwicklung >Golang >Wie entferne ich abschließende Kommas in Go-Vorlagenbereichsschleifen ohne benutzerdefinierte Funktionen?
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,
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}}
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)
Ausgabe:
key:a value:b, key:c value:d, key:e value:f
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!