Erfassen der Golang-Vorlagenausgabe in einer Variablen
Innerhalb einer Golang-Vorlage kann es zu dem Versuch kommen, die Ausgabe einer anderen Vorlage direkt in einer Variablen zu erfassen in einem Fehler. Um diese Funktionalität zu erreichen, muss eine benutzerdefinierte Funktion registriert werden, um die Ausgabe zu erfassen.
Lösung:
func execTempl(name string) (string, error) { buf := &bytes.Buffer{} err := t.ExecuteTemplate(buf, name, nil) return buf.String(), err }
t := template.Must(template.New("").Funcs(template.FuncMap{ "execTempl": execTempl, }).Parse(tmpl))
{{$var := execTempl "my-template"}}
Beispiel Vorlage:
const tmpl = `{{define "my-template"}}my-template content{{end}} See result: {{$var := execTempl "my-template"}} {{$var}} `
Ausgabe:
See result: my-template content
Mit diesem Ansatz können Sie eine benannte Vorlage ausführen und deren Ausgabe in einer Vorlagenvariablen speichern. Sie können diese Variable dann verwenden, um sie an andere Funktionen zu übergeben oder in die Vorlagenausgabe einzuschließen.
Das obige ist der detaillierte Inhalt vonWie erfasst man die Ausgabe einer Golang-Vorlage in einer Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!