go语言模板中的os.Stdout标准输出转化为string

package main

import(
    "text/template"
    "bytes"
    "fmt"
    "reflect"
)

func main(){
    name := "reyi"
    var tmp1 *template.Template
    tmp1 =template.New("test") //创建一个模板对象
    fmt.Println(reflect.TypeOf(tmp1))
    tmp1,err := tmp1.Parse("hello, {{.}}") //解析模板
    if err!=nil{
        panic(err)
    }
    buf := new(bytes.Buffer) //实现了读写方法的可变大小的字节缓冲
    err = tmp1.Execute(buf,name) //err = tmp1.Execute(os.Stdout,name) 表示标准输出写入到控制台
    //bytes.Buffer能够从控制台获取标准输出
    fmt.Println(buf.String())
    if err!=nil{
        panic(err)
    }
}
原文地址:https://www.cnblogs.com/MyUniverse/p/11149671.html