如何将模板结果输出到变量而不是 STDOUT
在 Go 模板中,Execute() 方法通常将模板输出到通过 os.Stdout io.Writer 屏幕。但是,您可能希望将模板输出分配给变量。
要实现此目的,您可以使用实现 io.Writer 接口的 bytes.Buffer 或 strings.Builder 类型。这些类型提供了用于写入模板输出的内存缓冲区。
使用 bytes.Buffer
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()
在这两种情况下,Execute() 方法都会将模板输出写入缓冲区,您可以使用 String() 方法以字符串形式检索输出。
以上是如何在变量中而不是 STDOUT 中捕获 Go 模板输出?的详细内容。更多信息请关注PHP中文网其他相关文章!