Heim >Backend-Entwicklung >Golang >Wie rufe ich eine Go-Methode aus einer Vorlage heraus auf?

Wie rufe ich eine Go-Methode aus einer Vorlage heraus auf?

Barbara Streisand
Barbara StreisandOriginal
2024-12-08 13:30:11828Durchsuche

How Do I Call a Go Method from Within a Template?

Aufrufen einer Methode aus einer Go-Vorlage

Beachten Sie den folgenden Code:

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

Um diese Methode in einer HTML-Vorlage zu verwenden, würden Sie folgendes tun: Erwarten Sie normalerweise eine Syntax ähnlich der folgenden:

{{ .Label() }}

In Go-Vorlagen können die Klammern jedoch sein weggelassen:

{{ .Label }}

Zum Beispiel mit dem folgenden Code:

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"))
}

Die Vorlage generiert die Ausgabe:

This is Bob

Gemäß der Go-Vorlagendokumentation können Sie jede Methode aufrufen, die einen einzelnen Wert oder zwei Werte zurückgibt, wobei der zweite Wert ein Fehler ist. Wenn die Methode einen Fehler zurückgibt, gibt Execute den Fehler zurück und stoppt die Ausführung der Vorlage.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine Go-Methode aus einer Vorlage heraus auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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