Heim > Backend-Entwicklung > Golang > Wie rufe ich Go-Methoden aus HTML-Vorlagen auf?

Wie rufe ich Go-Methoden aus HTML-Vorlagen auf?

Barbara Streisand
Freigeben: 2024-12-25 05:59:12
Original
714 Leute haben es durchsucht

How to Call Go Methods from Within HTML Templates?

Zugriff auf Go-Methoden über HTML-Vorlagen

In Go sind Vorlagen eine vielseitige Möglichkeit, HTML-Inhalte dynamisch zu generieren. Allerdings kann das Aufrufen von Methoden aus Vorlagen heraus manchmal eine Herausforderung darstellen.

Problem:

Bedenken Sie die folgende Go-Struktur:

type Person struct {
  Name string
}

func (p *Person) Label() string {
  return "This is " + p.Name
}
Nach dem Login kopieren

Wie kann Kann auf diese Methode über eine HTML-Vorlage zugegriffen werden? In der Vorlage möchten Sie eine Syntax ähnlich der folgenden verwenden:

{{ .Label() }}
Nach dem Login kopieren

Lösung:

Um eine Methode aus einer Go-Vorlage aufzurufen, lassen Sie einfach die Klammern weg :

{{ .Label }}
Nach dem Login kopieren

Der folgende Go-Code demonstriert Dies:

package main

import (
    "html/template"
    "log"
    "os"
)

type Person string

func (p Person) Label() string {
    return "This is " + string(p)
}

func main() {
    tmpl, err := template.New("").Parse(`{{.Label}}`)
    if err != nil {
        log.Fatalf("Parse: %v", err)
    }
    tmpl.Execute(os.Stdout, Person("Bob"))
}
Nach dem Login kopieren

Ausgabe:

This is Bob
Nach dem Login kopieren

Die Dokumentation gibt an, dass Sie jede Methode aufrufen können, die einen oder zwei Werte zurückgibt, vorausgesetzt, der zweite Wert ist vom Typ Fehler. Im letzteren Fall wird der Fehler zurückgegeben, wenn er nicht Null ist, und die Ausführung der Vorlage wird angehalten.

Das obige ist der detaillierte Inhalt vonWie rufe ich Go-Methoden aus HTML-Vorlagen auf?. 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