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 中国語 Web サイトの他の関連記事を参照してください。