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-17 10:02:25
Original
843 Leute haben es durchsucht

How to Call Go Methods from HTML Templates?

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
}
Nach dem Login kopieren

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 }}
Nach dem Login kopieren

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"))
}
Nach dem Login kopieren

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!

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