Heim >Backend-Entwicklung >Golang >Wie verkette ich Strings in Go-Vorlagen?

Wie verkette ich Strings in Go-Vorlagen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-08 18:24:02281Durchsuche

How to Concatenate Strings in Go Templates?

C

Verketten von Zeichenfolgen in Go-Vorlagen

Bei der Arbeit mit Text/Vorlagen in Go ist es häufig erforderlich, Zeichenfolgen zu verketten, um dynamische Inhalte zu erstellen. Im Gegensatz zu vielen anderen Programmiersprachen unterstützen Go-Vorlagen jedoch keine String-Verkettungsoperatoren.

Problem

Betrachten Sie das folgende Beispiel:

{{ $var := printf "%s%s" "x" "y" }}
{{ TestFunc $var }}

$var enthält den verketteten String „xy“, aber TestFunc empfängt nur die Zeichenfolge „y“, da die printf-Funktion separat von TestFunc ausgeführt wird Anruf.

Lösung

Es gibt einige Möglichkeiten, Zeichenfolgen in Go-Vorlagen effizient zu verketten. Eine Methode besteht darin, die printf-Funktion wie im obigen Beispiel zu verwenden. Eine weitere Möglichkeit besteht darin, mehrere Vorlagenausdrücke zu einem einzigen zu kombinieren:

{{ TestFunc (printf "%s%s" "x" "y") }}

Wenn Sie häufig Zeichenfolgen verketten, bevor Sie TestFunc aufrufen, kann es effizienter sein, TestFunc so zu ändern, dass die Verkettung verarbeitet wird:

func TestFunc(strs ...string) string {
   return strings.Trim(strings.Join(strs, ""), " ")
}

{{ TestFunc "x"  $var }}

Das obige ist der detaillierte Inhalt vonWie verkette ich Strings in Go-Vorlagen?. 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