Go 动态获取变量
我使用Go模板来管理Helm的部署 我的values.yaml文件如下:Go 动态获取变量,go,go-templates,Go,Go Templates,我使用Go模板来管理Helm的部署 我的values.yaml文件如下: env: dev config: dev: myname: Hi live: myname: Bye 现在,我想根据环境(dev、live)获取值。 比如: 不幸的是,这种方法不起作用,因为它说: bad character U+007B '{' 是否有任何方法可以使用其他值获取值?以下方法可能有效。我没有测试它 {{ .Values.config.(.Values.env) }
env: dev
config:
dev:
myname: Hi
live:
myname: Bye
现在,我想根据环境(dev、live)获取值。
比如:
不幸的是,这种方法不起作用,因为它说:
bad character U+007B '{'
是否有任何方法可以使用其他值获取值?以下方法可能有效。我没有测试它
{{ .Values.config.(.Values.env) }}
完整的模板语法可以在中找到。以下可能有效。我没有测试它
{{ .Values.config.(.Values.env) }}
完整的模板语法可以在中找到。问题来自嵌套模板,这不是模板的工作方式 解决方案取决于数据的内部表示。如果它表示为嵌套映射,则解决方案是使用管道全局函数
index
{{ index .Values.config .Values.env `myname` }}
更多信息
更多信息。问题来自嵌套模板,这不是模板的工作方式 解决方案取决于数据的内部表示。如果它表示为嵌套映射,则解决方案是使用管道全局函数
index
{{ index .Values.config .Values.env `myname` }}
更多信息
有关的更多信息。嘿!回答很好,但也可以在不指定之前的变量的情况下工作,比如:{{index.Values.config.Values.env
myname
}}@IdirOuhabMeskine您是对的,而且这个更短,所以我编辑了我的答案。嘿!回答很好,但也可以在不指定之前的变量的情况下工作,如:{{index.Values.config.Values.envmyname
}}@IdirOuhabMeskine您是对的,这是较短的,因此我编辑了我的答案。