変数でのテンプレート出力の取得
Go のテンプレート システムでは、Execute メソッドは、レンダリングされたテンプレートを指定された io.Writer 引数に出力します。デフォルトでは、これは通常、標準出力 (os.Stdout など) に送られます。ただし、特定のシナリオでは、さらに操作するためにテンプレート出力を変数にキャプチャすることが望ましい場合があります。
これを実現するには、次の 2 つの代替アプローチを活用できます。
バイトの使用.Buffer:
var tpl bytes.Buffer if err := t.Execute(&tpl, data); err != nil { return err } result := tpl.String()
bytes.Buffer は io.Writer インターフェイスを実装しており、次のことが可能です。これをテンプレート出力のターゲットとして使用します。 Execute 呼び出しの後、String メソッドを使用して、レンダリングされたコンテンツを文字列として取得できます。
strings.Builder の使用:
builder := &strings.Builder{} if err := t.Execute(builder, data); err != nil { return err } result := builder.String()
strings.Builder は、文字列を収集するためのより特殊な方法。効率的な文字列連結に合わせて調整されたメソッドを提供し、特定の状況でテンプレート出力をキャプチャするのに特に適しています。
以上がGo テンプレートの出力を変数に取り込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。