Basta enviar a execução do template go html para strings

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!