C
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.
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.
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!