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)

}

}