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

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

Barbara Streisand
Barbara Streisand原創
2024-12-08 13:30:11872瀏覽

How Do I Call a Go Method from Within a Template?

從Go 範本呼叫方法

考慮以下程式碼:

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

要在HTML 範本中使用此方法,您需要通常期望的語法類似以下:

{{ .Label() }}

但是,在Go模板中,括號可以省略:

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

模板會產生輸出:

This is Bob

依照Go在模板在文件中,您可以呼叫傳回單一值或兩個值的任何方法,其中第二個值是錯誤。如果該方法傳回錯誤,Execute 將傳回錯誤並停止模板執行。

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

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