Heim > Backend-Entwicklung > Golang > Wie erfasst man die Ausgabe einer Golang-Vorlage in einer Variablen?

Wie erfasst man die Ausgabe einer Golang-Vorlage in einer Variablen?

Susan Sarandon
Freigeben: 2024-12-19 03:32:21
Original
132 Leute haben es durchsucht

How to Capture Golang Template Output into a Variable?

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:

  1. Registrieren Sie eine Funktion, die eine benannte Vorlage ausführt und speichert Ergebnis in einem Puffer:
func execTempl(name string) (string, error) {
    buf := &bytes.Buffer{}
    err := t.ExecuteTemplate(buf, name, nil)
    return buf.String(), err
}
Nach dem Login kopieren
  1. Registrieren Sie diese Funktion bei der Vorlage:
t := template.Must(template.New("").Funcs(template.FuncMap{
    "execTempl": execTempl,
}).Parse(tmpl))
Nach dem Login kopieren
  1. Verwenden Sie die registrierte Funktion, um die Ausgabe einer benannten Vorlage zu erfassen:
{{$var := execTempl "my-template"}}
Nach dem Login kopieren

Beispiel Vorlage:

const tmpl = `{{define "my-template"}}my-template content{{end}}
See result:
{{$var := execTempl "my-template"}}
{{$var}}
`
Nach dem Login kopieren

Ausgabe:

See result:

my-template content
Nach dem Login kopieren

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!

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