登录
首页 >  Golang >  Go问答

获取模板输出并存储到变量中而非输出到标准输出

来源:stackoverflow

时间:2024-02-18 18:36:25 146浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《获取模板输出并存储到变量中而非输出到标准输出》,聊聊,我们一起来看看吧!

问题内容

我正在将 templates 与 golang 一起使用,并且在某些时候我使用此代码:

t.execute(os.stdout, xxx);

上面的代码将模板输出到屏幕(因为 os.stdout),但我希望将其分配给变量,例如

var temp string;
e := t.Execute(temp, xxx);

但是,当然,这段代码不起作用。那么我该怎么做呢?


解决方案


t.execute 需要一个实现 io.writer 接口的类型。一种选择是使用缓冲区:

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()

理论要掌握,实操不能落!以上关于《获取模板输出并存储到变量中而非输出到标准输出》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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