Methoden aus Go-Vorlagen aufrufen
In Go können Sie Methoden für benutzerdefinierte Typen definieren, sodass Sie diese Typen noch besser bearbeiten können organisierte Art und Weise. Bei der Arbeit mit HTML-Vorlagen ist es oft sinnvoll, auf diese Methoden aus der Vorlage selbst heraus zuzugreifen.
Frage:
Bedenken Sie Folgendes:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
Wie würden Sie die Label()-Methode in einem HTML verwenden? Vorlage?
Antwort:
Um eine Methode aus einer Go-Vorlage aufzurufen, lassen Sie einfach die Klammern weg. In diesem Fall würde die Vorlage wie folgt aussehen:
{{ .Label }}
Dadurch wird die Label()-Methode aufgerufen und ihr Rückgabewert in die Vorlage eingefügt.
Hier ist ein vollständiges Beispiel:
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")) }
Zusätzlicher Hinweis:
Laut der Go-Dokumentation jede Methode, die eine zurückgibt Ein Wert eines beliebigen Typs oder zwei Werte, wobei der zweite vom Typ Fehler ist, können aus einer Vorlage aufgerufen werden.
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!