Совместное использование переменных между шаблонами Golang - PullRequest
1 голос
/ 25 сентября 2019

Я хочу сгенерировать 2 отдельных файла с помощью GOtemplate, допустим, у меня есть этот код:

aBuffer := new(bytes.Buffer)
bBuffer := new(bytes.Buffer)

aTmpl, _ := template.ParseFiles(aFilePath)
aTmpl.Execute(aBuffer, someVariables)

bTmpl, _ := template.ParseFiles(bFilePath)
bTmpl.Execute(bBuffer, someVariables)

Допустим, я использую общий var для этих двух файлов (не из "someVariables" golang var), у меня есть способ объявить это в отдельном файле, как в Helm?

{{ define myVar }}
the-var
{{ end }}

Затем, чтобы сохранить вид контекста, который я могу повторно использовать в aTmpl и bTmpl:

{{ template myVar .}}

1 Ответ

3 голосов
/ 25 сентября 2019

Создайте третий файл с общими определениями:

{{define "myVar"}}
the-var
{{end}}

Разбор этого файла с другими:

aTmpl, _ := template.ParseFiles(aFilePath, commonFilePath)

bTmpl, _ := template.ParseFiles(bFilePath, commonFilePath)

Используйте «myvar» в двух шаблонах следующим образом:

{{template "myVar" .}}
...