我需要使用*template.Execute方法,但我希望结果是字符串或字节[],这样我就可以将其传递给另一个*template.Execute,但该方法会将其结果写入写入器.有没有一种方法可以创建一个写入我定义的变量的写入器?
我需要使用*template.Execute方法,但我希望结果是字符串或字节[],这样我就可以将其传递给另一个*template.Execute,但该方法会将其结果写入写入器.有没有一种方法可以创建一个写入我定义的变量的写入器?
使用bytes.Buffer
的实例,它实现io.Writer
:
var buff bytes.Buffer
if err := tpl.Execute(&buff, data); err != nil {
panic(err)
}
然后,您可以使用buff.String()
获得string
结果,或使用buff.Bytes()
获得[]byte
结果.