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

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

Barbara Streisand
Freigeben: 2024-12-14 10:18:12
Original
142 Leute haben es durchsucht

How Do I Call Custom Methods from Go HTML Templates?

Methoden aus Go-Vorlagen aufrufen

In Go können Sie benutzerdefinierte Methoden für Datentypen definieren. Wie ruft man diese Methoden aus einer HTML-Vorlage in Go auf?

Betrachten Sie das folgende Beispiel:

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

Um die Label-Methode aus einer Vorlage aufzurufen, verwenden Sie die folgende Syntax:

{{ .Label }}
Nach dem Login kopieren

Beachten Sie, dass Sie die Klammern weglassen, wenn Sie die Methode aufrufen.

Hier ist ein vollständiges Go-Programm, das die Verwendung von demonstriert Methodenaufrufe in Vorlagen:

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

Wenn Sie dieses Programm ausführen, wird Folgendes ausgegeben:

This is Bob
Nach dem Login kopieren

Gemäß der Go-Vorlagendokumentation können Sie jede Methode aufrufen, die einen Wert zurückgibt ( eines beliebigen Typs) oder zwei Werte, wenn der zweite vom Typ Fehler ist. Wenn der zweite zurückgegebene Wert ein Fehler ist, gibt die Execute-Funktion diesen Fehler als ungleich Null zurück und bricht die Ausführung der Vorlage ab.

Das obige ist der detaillierte Inhalt vonWie rufe ich benutzerdefinierte Methoden aus Go-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