Я использую шаблоны go-lang для вывода некоторого HTML.Есть блок HTML, который я хотел бы повторить много раз.Поэтому я использую переменную для хранения этого блока HTML.Вот фиктивная версия моего кода:
package main
import (
"html/template"
"log"
"os"
)
var tmplString = ` // content of index.html
{{define "index"}}
{{ $DUMMY := "{{.var1}} is equal to {{.var2}}" }}
{{ $DUMMY }}
{{ $DUMMY }}
{{end}}
`
func main() {
tmpl, err := template.New("test").Parse(tmplString)
if err != nil {
log.Fatal(err)
}
varmap := map[string]interface{}{
"var1": "value",
"var2": 100,
}
tmpl.ExecuteTemplate(os.Stdout, "index", varmap)
}
Проблема в том, что этот кусок кода будет
{{.var1}} is equal to {{.var2}}
{{.var1}} is equal to {{.var2}}
Но мне нужно, чтобы он вывел
value is equal to 100
value is equal to 100
Как я могу определить переменную, чтобы строка строилась из моей структуры?