在{{template}}中使用Go Template var

时间:2018-11-09 00:33:22

标签: go go-templates go-html-template

在Go中,我们可以轻松地创建一个变量

{{- if .Bool.Var -}}
  {{ $MyVar := "val" }}
{{- end -}}

我们甚至可以足够容易地创建共享摘录

{{- define "val" -}}
  <p>Some shared template data</p>
{{- end -}}

我的问题 是,如何使用$MyVar作为{{template}}的文本值,以便我们可以做类似{ {1}},而不会引起错误,还是不可能?

1 个答案:

答案 0 :(得分:1)

在纯Go text/template language中(不是Go 本身,但在Go中恰好实现了一些不同),这是不可能的; first_half调用采用文字字符串名称。

该语言最杰出的用户之一就是Kubernetes Helm部署管理器。这包括对模板语言的一些扩展。其中的一个是include template function,它可以将任何值用作模板的名称,并生成字符串而不是立即输出模板内容(您可以将其包含在管道中,而{{ 1}})。因此,特别是在 YAML文件中,您可以

{{template}}