首頁 >後端開發 >Golang >如何從 HTML 模板呼叫 Go 方法?

如何從 HTML 模板呼叫 Go 方法?

Barbara Streisand
Barbara Streisand原創
2024-12-17 10:02:25891瀏覽

How to Call Go Methods from HTML Templates?

從Go 模板呼叫方法

在Go 中,你可以為自訂類型定義方法,讓你可以更方便地操作這些類型。有組織的方式。使用 HTML 模板時,從模板本身存取這些方法通常很有用。

問題:

考慮以下內容:

type Person struct {
  Name string
}

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

如何在HTML 中使用Label() 方法template?

答案:

要從Go模板呼叫方法,只需省略括號即可。在這種情況下,模板將如下所示:

{{ .Label }}

這將呼叫 Label() 方法並將其傳回值插入範本中。

這是一個完整的範例:

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

附加說明:

根據Go 文件中,任何傳回任意類型的一個值或兩個值(第二個為錯誤類型)的方法都可以從模板呼叫。

以上是如何從 HTML 模板呼叫 Go 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn