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

Wie verkette ich Strings in Go-Vorlagen effizient?

Linda Hamilton
Freigeben: 2024-11-06 15:25:02
Original
609 Leute haben es durchsucht

How to Concatenate Strings Efficiently in Go Templates?

Effizientes Verketten von Zeichenfolgen in Vorlagen

Frage:

Gibt es in Go-Vorlagen eine effiziente Möglichkeit, Zeichenfolgen mit zu verketten? Operatoren wie „ “?

Bereitgestellte Beispiele:

<code class="go">{{ $var := printf "%s%s" "x" "y" }}
{{ TestFunc $var }}  // Returns "xy"

{{ $var := "y" }}
{{ TestFunc "x" + $var }}  // Error: unexpected "+" in operand

{{ $var := "y" }}
{{ TestFunc "x" + {$var} }}  // Error: unexpected "+" in operand</code>
Nach dem Login kopieren

Antwort:

Go-Vorlagen unterstützen keine Operatoren für String-Verkettung. Daher führen die obigen Beispiele zu Fehlern.

Lösungen:

  1. Verwenden Sie die printf-Funktion:
    Wie im ersten Beispiel gezeigt, können Sie die printf-Funktion zum Verketten von Zeichenfolgen verwenden. Diese Methode ist effizient und flexibel.

    <code class="go">{{ $var := printf "%s%s" "x" "y" }}
    {{ TestFunc $var }}  // Returns "xy"</code>
    Nach dem Login kopieren
  2. Vorlagenausdrücke kombinieren:
    Sie können auch mehrere Vorlagenausdrücke kombinieren, um eine Verkettung zu erreichen.

    <code class="go">{{ TestFunc (printf "%s%s" "x" "y") }}  // Returns "xy"</code>
    Nach dem Login kopieren
  3. Ändern Sie die TestFunc-Argumentbehandlung:
    Wenn Ihr Anwendungsfall immer die Verkettung von Zeichenfolgen für das TestFunc-Argument beinhaltet, können Sie die Funktion so ändern, dass sie die Verkettung intern verarbeitet.

    <code class="go">func TestFunc(strs ...string) string {
        return strings.Trim(strings.Join(strs, ""), " ")
    }
    
    {{ TestFunc "x"  $var }}  // Returns "xy"</code>
    Nach dem Login kopieren

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