在 golang 模板之间共享变量

我想用 GOtemplate 生成 2 个单独的文件,假设我有以下代码:


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 .}}


蝴蝶不菲
浏览 99回答 1
1回答

拉莫斯之舞

使用通用定义创建第三个文件:{{define "myVar"}}the-var{{end}}与其他文件一起解析该文件:aTmpl, _ := template.ParseFiles(aFilePath, commonFilePath)bTmpl, _ := template.ParseFiles(bFilePath, commonFilePath)在两个模板中使用“myvar”,如下所示:{{template "myVar" .}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go