在golang模板之间共享变量

在golang模板之间共享变量,go,go-templates,Go,Go Templates,我想使用GOtemplate生成两个单独的文件,假设我有以下代码: aBuffer := new(bytes.Buffer) bBuffer := new(bytes.Buffer) aTmpl, _ := template.ParseFiles(aFilePath) aTmpl.Execute(aBuffer, someVariables) bTmpl, _ := template.ParseFiles(bFilePath) bTmpl.Execute(bBuffer, someVaria

我想使用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 .}}

使用通用定义创建第三个文件:

{{define "myVar"}}
the-var
{{end}}
将该文件与其他文件一起解析:

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

bTmpl, _ := template.ParseFiles(bFilePath, commonFilePath)
在两个模板中使用“myvar”,如下所示:

{{template "myVar" .}}

我觉得自己好笨,应该好好想想。。谢谢