将执行 text/template 模板的结果分配给变量
Assign result of executing text/template template into a variable
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
参数,因此您可以传递任何 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)
}
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
参数,因此您可以传递任何 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)
}