github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgTextTemplate/ExecuteToString.go (about)

     1  package kmgTextTemplate
     2  
     3  import (
     4  	"bytes"
     5  	"text/template"
     6  )
     7  
     8  func ExecuteToString(tmpl *template.Template, data interface{}) (output string, err error) {
     9  	buf := &bytes.Buffer{}
    10  	err = tmpl.Execute(buf, data)
    11  	if err != nil {
    12  		return
    13  	}
    14  	return buf.String(), nil
    15  }
    16  
    17  func MustRenderToByte(text string, data interface{}) (b []byte) {
    18  	w := &bytes.Buffer{}
    19  	tmpl, err := template.New("").Parse(text)
    20  	if err != nil {
    21  		panic(err)
    22  	}
    23  	err = tmpl.Execute(w, data)
    24  	if err != nil {
    25  		panic(err)
    26  	}
    27  	return w.Bytes()
    28  }