登录
首页 >  Golang >  Go问答

将执行文本/模板模板的结果分配给变量

来源:stackoverflow

时间:2024-04-02 22:00:27 150浏览 收藏

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学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>