Wie verkette ich Strings in Go-Vorlagen?

Barbara Streisand
Freigeben: 2024-11-08 18:24:02
Original
241 Leute haben es durchsucht

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 }}
Nach dem Login kopieren

$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") }}
Nach dem Login kopieren

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 }}
Nach dem Login kopieren

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!

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