1

次のコードを使用して、テンプレート ファイルをメモリに読み込みました。

t := template.New("master")
tpl, err := t.ParseFiles("templates/index.html")

今、私はそのテンプレートを文字列に描画したいので、私のindex.htmlはかなり空です:

{{define "master"}}
Hello World
{{end}}

始めたばかりなので、まだデータがありません。Templateオブジェクトをデータなしで文字列に変換する方法はありますか?

4

2 に答える 2

3

テンプレートが (まだ) 変数を使用していない場合は、任意の値をデータとして渡すだけで、テンプレートをレンダリングできます。したがって、テンプレートを stdout にレンダリングするには、たとえば次を使用できます。

tpl.Execute(os.Stdout, nil)

テンプレートを文字列にレンダリングしたい場合はbytes.Buffer、仲介としてa を使用できます。

var buf bytes.Buffer
tpl.Execute(&buf, nil)
str := buf.String()
于 2013-06-08T22:30:32.650 に答える
-1

これは設計上、Go では不可能です。データがない場合、テンプレート パッケージは不要なオーバーヘッドになります。

データがない場合は、ioテンプレートを使用する代わりに、パッケージを使用してファイルを読み取るだけです。

于 2013-06-08T22:17:13.900 に答える