我正在使用templatesGolang,在某些時候我使用以下代碼:t.Execute(os.Stdout, xxx);上面的代碼將模板輸出到屏幕(因為os.Stdout),但我希望將它分配給一個變量,比如var temp string;
e := t.Execute(temp, xxx);但是,當(dāng)然,這段代碼不起作用。那么我該怎么做呢?
1 回答
料青山看我應(yīng)如是
TA貢獻(xiàn)1772條經(jīng)驗 獲得超8個贊
t.Execute期望實現(xiàn)io.Writer接口的類型。一種選擇是使用緩沖區(qū):
var tpl bytes.Buffer
if err := t.Execute(&tpl, data); err != nil {
return err
}
result := tpl.String()
另一個更專業(yè)的替代方案是strings.Builder,在評論中提到:
builder := &strings.Builder{}
if err := t.Execute(builder, data); err != nil {
return err
}
result := builder.String()
- 1 回答
- 0 關(guān)注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消
