Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《将执行文本/模板模板的结果分配给变量》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!
type Inventory struct {
Material string
Count uint
}
sweaters := Inventory{"wool", 17}
tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{.Material}}")
err = tmpl.Execute(os.Stdout, sweaters)
如何将模板执行的结果保存在 golang 变量中,而不是写入 os.stdout
?
正确答案
正如你在这里看到的https://golang.org/pkg/text/template/#Template.Execute,execute方法中有一个io.writer
arg,所以你可以传递任何io.writer
我希望这会有所帮助。 https://play.golang.org/p/kXRQ7G3uO20
package main
import (
"fmt"
"bytes"
"text/template"
)
type Inventory struct {
Material string
Count uint
}
func main() {
var buf bytes.Buffer
sweaters := Inventory{"wool", 17}
tmpl, _ := template.New("test").Parse("{{.Count}} items are made of {{.Material}}")
_ = tmpl.Execute(&buf, sweaters)
s := buf.String()
fmt.Println(s)
}
好了,本文到此结束,带大家了解了《将执行文本/模板模板的结果分配给变量》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!