Em vez de executar o template html na interface io.Writer, como * http.ResponseWriter, às vezes queremos apenas strings como saída da execução do template go lang html.
Para conseguir isso, podemos simplesmente usar qualquer tipo que implemente a interface io.Writer. Para este caso de strings, podemos usar um ponteiro de buffer para armazenar o resultado da execução do template html e então analisá-los em string.
t := template.New("action")
var err error
t, err = t.ParseFiles("path/to/action.html")
if err != nil {
return err
}
key := "some strings"
data := struct{
Key string
}{
Key: key
}
var tpl bytes.Buffer
if err := t.Execute(&tpl, data); err != nil {
return err
}
result := tpl.String()
feliz feriado!