首頁 > 後端開發 > Golang > 如何將 Golang 範本輸出擷取到變數中?

如何將 Golang 範本輸出擷取到變數中?

Susan Sarandon
發布: 2024-12-19 03:32:21
原創
122 人瀏覽過

How to Capture Golang Template Output into a Variable?

將Golang 範本輸出擷取到變數中

在Golang 範本中,嘗試將另一個範本的輸出直接捕獲到變數中可能會導致在錯誤中。要實現此功能,必須註冊一個自訂函數來捕獲輸出。

解決方案:

  1. 註冊一個執行命名模板並儲存結果是一個緩衝區:
func execTempl(name string) (string, error) {
    buf := &bytes.Buffer{}
    err := t.ExecuteTemplate(buf, name, nil)
    return buf.String(), err
}
登入後複製
  1. 將此函數註冊到template:
t := template.Must(template.New("").Funcs(template.FuncMap{
    "execTempl": execTempl,
}).Parse(tmpl))
登入後複製
  1. 使用註冊函數捕獲命名模板的輸出:
{{$var := execTempl "my-template"}}
登入後複製

示例模板:

const tmpl = `{{define "my-template"}}my-template content{{end}}
See result:
{{$var := execTempl "my-template"}}
{{$var}}
`
登入後複製

輸出:

See result:

my-template content
登入後複製

此方法可讓您執行命名範本並將其輸出儲存在範本變數中。然後,您可以使用此變數傳遞給其他函數或包含在範本輸出中。

以上是如何將 Golang 範本輸出擷取到變數中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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