Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk memanggil Kaedah Go daripada Templat HTML?

Bagaimana untuk memanggil Kaedah Go daripada Templat HTML?

Barbara Streisand
Lepaskan: 2024-12-17 10:02:25
asal
843 orang telah melayarinya

How to Call Go Methods from HTML Templates?

Kaedah Memanggil daripada Templat Go

Dalam Go, anda boleh menentukan kaedah untuk jenis tersuai, membolehkan anda mengendalikan jenis tersebut dalam lebih cara tersusun. Apabila bekerja dengan templat HTML, selalunya berguna untuk mengakses kaedah ini dari dalam templat itu sendiri.

Soalan:

Pertimbangkan perkara berikut:

type Person struct {
  Name string
}

func (p *Person) Label() string {
  return "This is " + p.Name
}
Salin selepas log masuk

Bagaimanakah anda menggunakan kaedah Label() dalam HTML templat?

Jawapan:

Untuk memanggil kaedah daripada templat Go, hanya tinggalkan kurungan. Dalam kes ini, templat akan kelihatan seperti:

{{ .Label }}
Salin selepas log masuk

Ini akan memanggil kaedah Label() dan memasukkan nilai pulangannya ke dalam templat.

Berikut ialah contoh penuh:

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

Nota Tambahan:

Menurut dokumentasi Go, sebarang kaedah yang mengembalikan satu nilai daripada mana-mana jenis atau dua nilai, dengan yang kedua ialah ralat jenis, boleh dipanggil daripada templat.

Atas ialah kandungan terperinci Bagaimana untuk memanggil Kaedah Go daripada Templat HTML?. 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