Сохранение HTML в шаблоне переменных golang - PullRequest
0 голосов
/ 23 октября 2018

Я использую шаблоны 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

Как я могу определить переменную, чтобы строка строилась из моей структуры?

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете объединять строки в шаблонах с помощью print:

 {{ $DUMMY := (print .var1 " is equal to " .var2 )}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...