Dalam Go, anda boleh menentukan kaedah tersuai untuk jenis data. Bagaimanakah anda memanggil kaedah ini daripada templat HTML dalam Go?
Pertimbangkan contoh berikut:
type Person struct { Name string } func (p *Person) Label() string { return "This is " + p.Name }
Untuk memanggil kaedah Label daripada templat, gunakan sintaks berikut:
{{ .Label }}
Perhatikan bahawa anda meninggalkan kurungan semasa memanggil kaedah.
Berikut ialah program Go lengkap yang menunjukkan penggunaan panggilan kaedah dalam templat:
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")) }
Apabila anda menjalankan program ini, ia akan mengeluarkan:
This is Bob
Menurut dokumentasi templat Go, anda boleh memanggil mana-mana kaedah yang mengembalikan satu nilai (dari mana-mana jenis) atau dua nilai jika yang kedua adalah ralat jenis. Jika nilai kedua yang dikembalikan ialah ralat, fungsi Laksanakan akan mengembalikan ralat itu sebagai bukan sifar dan menghentikan pelaksanaan templat.
Atas ialah kandungan terperinci Bagaimana Saya Memanggil Kaedah Tersuai daripada Templat HTML Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!