Wie erfasst man die Go-Vorlagenausgabe in einer Variablen statt in STDOUT?

Patricia Arquette
Freigeben: 2024-11-17 19:40:01
Original
274 Leute haben es durchsucht

How to Capture Go Template Output in a Variable Instead of STDOUT?

So geben Sie Vorlagenergebnisse in eine Variable anstelle von STDOUT aus

In Go-Vorlagen gibt die Execute()-Methode die Vorlage normalerweise an aus Bildschirm über den os.Stdout io.Writer. Möglicherweise möchten Sie die Vorlagenausgabe jedoch stattdessen einer Variablen zuweisen.

Um dies zu erreichen, können Sie die Typen bytes.Buffer oder strings.Builder verwenden, die die io.Writer-Schnittstelle implementieren. Diese Typen stellen einen speicherinternen Puffer zum Schreiben der Vorlagenausgabe bereit.

Verwendung von bytes.Buffer

var tpl bytes.Buffer
if err := t.Execute(&tpl, data); err != nil {
    return err
}

result := tpl.String()
Nach dem Login kopieren

Verwendung von strings.Builder

builder := &strings.Builder{}
if err := t.Execute(builder, data); err != nil {
    return err
}
result := builder.String()
Nach dem Login kopieren

In beiden Fällen schreibt die Execute()-Methode die Vorlagenausgabe in den Puffer, und Sie können die Ausgabe als String mit der String()-Methode abrufen.

Das obige ist der detaillierte Inhalt vonWie erfasst man die Go-Vorlagenausgabe in einer Variablen statt in STDOUT?. 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