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

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

Barbara Streisand
發布: 2024-12-25 05:59:12
原創
706 人瀏覽過

How to Call Go Methods from Within HTML Templates?

從 HTML 範本存取 Go 方法

在 Go 中,範本是動態產生 HTML 內容的通用方法。然而,從模板中呼叫方法有時會帶來挑戰。

問題:

考慮以下 Go 結構:

type Person struct {
  Name string
}

func (p *Person) Label() string {
  return "This is " + p.Name
}
登入後複製

如何可以從 HTML 範本存取此方法嗎?在範本中,您希望使用類似以下的語法:

{{ .Label() }}
登入後複製

解決方案:

要從Go 範本呼叫方法,只需省略括號即可:

{{ .Label }}
登入後複製

以下Go程式碼示範this:

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"))
}
登入後複製

輸出:

This is Bob
登入後複製

文件指定您可以呼叫任何傳回一個值或兩個值的方法,前提是第二個值的型別為錯誤。在後一種情況下,如果非 nil,則傳回錯誤,並停止模板執行。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板