將Golang 範本輸出擷取到變數中
在Golang 範本中,嘗試將另一個範本的輸出直接捕獲到變數中可能會導致在錯誤中。要實現此功能,必須註冊一個自訂函數來捕獲輸出。
解決方案:
func execTempl(name string) (string, error) { buf := &bytes.Buffer{} err := t.ExecuteTemplate(buf, name, nil) return buf.String(), err }
t := template.Must(template.New("").Funcs(template.FuncMap{ "execTempl": execTempl, }).Parse(tmpl))
{{$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中文網其他相關文章!