为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中为字符串创建一个 writer

如何在 Go 中为字符串创建一个 writer

Go
缥缈止盈 2021-11-22 17:47:14
我需要使用*template.Execute方法,但我希望结果为字符串或字节 [],以便我可以将其传递给另一个*template.Execute但该方法将其结果写入编写器。有没有办法创建一个写入我定义的变量的编写器?
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

使用 的实例bytes.Buffer,它实现io.Writer:


var buff bytes.Buffer

if err := tpl.Execute(&buff, data); err != nil {

    panic(err)

}

然后,您可以string使用获得结果buff.String(),或使用获得[]byte结果buff.Bytes()。


查看完整回答
反对 回复 2021-11-22
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您也可以strings.Builder为此目的使用:


package main


import (

   "html/template"

   "strings"

)


func main() {

   t, e := template.New("date").Parse("<p>{{ .month }} - {{ .day }}</p>")

   if e != nil {

      panic(e)

   }

   b := new(strings.Builder)

   t.Execute(b, map[string]int{"month": 12, "day": 31})

   println(b.String())

}

https://golang.org/pkg/strings#Builder


查看完整回答
反对 回复 2021-11-22
  • 2 回答
  • 0 关注
  • 308 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信