我正在使用templatesGolang,在某些時候我使用以下代碼:t.Execute(os.Stdout, xxx);上面的代碼將模板輸出到屏幕(因為os.Stdout),但我希望將它分配給一個變量,比如var temp string;
e := t.Execute(temp, xxx);但是,當然,這段代碼不起作用。那么我該怎么做呢?
1 回答

料青山看我應如是
TA貢獻1772條經驗 獲得超8個贊
t.Execute期望實現io.Writer接口的類型。一種選擇是使用緩沖區:
var tpl bytes.Buffer
if err := t.Execute(&tpl, data); err != nil {
return err
}
result := tpl.String()
另一個更專業的替代方案是strings.Builder,在評論中提到:
builder := &strings.Builder{}
if err := t.Execute(builder, data); err != nil {
return err
}
result := builder.String()
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消