我正在使用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
如何定义变量,以便从结构中构建字符串?
答案 0 :(得分:1)
您可以使用print
连接模板中的字符串:
{{ $DUMMY := (print .var1 " is equal to " .var2 )}}