Vorlagenausgabe in einer Variablen abrufen
Im Vorlagensystem von Go gibt die Execute-Methode die gerenderte Vorlage an das bereitgestellte io.Writer-Argument aus. Standardmäßig wird dies normalerweise an die Standardausgabe weitergeleitet (z. B. os.Stdout). In bestimmten Szenarien kann es jedoch wünschenswert sein, die Vorlagenausgabe zur weiteren Bearbeitung in einer Variablen zu erfassen.
Um dies zu erreichen, können Sie zwei alternative Ansätze nutzen:
Verwendung von Bytes .Buffer:
var tpl bytes.Buffer if err := t.Execute(&tpl, data); err != nil { return err } result := tpl.String()
bytes.Buffer implementiert die io.Writer-Schnittstelle, sodass Sie sie als Ziel für verwenden können Vorlagenausgabe. Nach dem Execute-Aufruf können Sie den gerenderten Inhalt mit der String-Methode als String abrufen.
Verwendung von strings.Builder:
builder := &strings.Builder{} if err := t.Execute(builder, data); err != nil { return err } result := builder.String()
strings.Builder bietet eine speziellere Art, Saiten zu sammeln. Es bietet Methoden, die auf eine effiziente Zeichenfolgenverkettung zugeschnitten sind, wodurch es sich in bestimmten Situationen besonders für die Erfassung der Vorlagenausgabe eignet.
Das obige ist der detaillierte Inhalt vonWie kann ich die Go-Vorlagenausgabe in einer Variablen erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!