Rumah > pembangunan bahagian belakang > Golang > Bagaimana Saya Memanggil Kaedah Tersuai daripada Templat HTML Go?

Bagaimana Saya Memanggil Kaedah Tersuai daripada Templat HTML Go?

Barbara Streisand
Lepaskan: 2024-12-14 10:18:12
asal
146 orang telah melayarinya

How Do I Call Custom Methods from Go HTML Templates?

Kaedah Memanggil daripada Templat Go

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
}
Salin selepas log masuk

Untuk memanggil kaedah Label daripada templat, gunakan sintaks berikut:

{{ .Label }}
Salin selepas log masuk

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"))
}
Salin selepas log masuk

Apabila anda menjalankan program ini, ia akan mengeluarkan:

This is Bob
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan