Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk memanggil Kaedah Go dari Dalam Templat HTML?
Mengakses Kaedah Go daripada Templat HTML
Dalam Go, templat ialah cara serba boleh untuk menjana kandungan HTML secara dinamik. Walau bagaimanapun, kaedah panggilan dari dalam templat kadangkala boleh menimbulkan cabaran.
Masalah:
Pertimbangkan struct Go berikut:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
Bagaimana boleh kaedah ini boleh diakses daripada templat HTML? Dalam templat, anda ingin menggunakan sintaks yang serupa dengan:
{{ .Label() }}
Penyelesaian:
Untuk memanggil kaedah daripada templat Go, tinggalkan kurungan sahaja :
{{ .Label }}
Kod Go berikut ditunjukkan ini:
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")) }
Output:
This is Bob
Dokumentasi menentukan bahawa anda boleh memanggil mana-mana kaedah yang mengembalikan satu nilai atau dua nilai, dengan syarat nilai kedua adalah ralat jenis. Dalam kes kedua, ralat dikembalikan jika ia bukan sifar dan pelaksanaan templat dihentikan.
Atas ialah kandungan terperinci Bagaimana untuk memanggil Kaedah Go dari Dalam Templat HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!