Heim >Backend-Entwicklung >Golang >Wie erfasst man die Go-Vorlagenausgabe in einer Variablen statt in STDOUT?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-17 19:40:01359Durchsuche

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()

Verwendung von strings.Builder

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

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!

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