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

Bagaimana untuk memanggil Kaedah Go daripada Templat HTML?

Barbara Streisand
Barbara Streisandasal
2024-12-17 10:02:25893semak imbas

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
}

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 }}

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"))
}

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!

Kenyataan:
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