如何 trim YAML Go 模板中的字符串?
How to trim a string in YAML Go template?
我有以下 values.yaml
-
foo:
- a: bar1
b: bar2
- a: bar3
b: bar4
我正在使用如下模板 -
data:
string:
{{range .Values.foo}}
{{ .a ` and ` .b ` or `}}
{{end}}
输出是 -
data:
string: bar1 and bar2 or bar3 and bar4 or
如何去掉尾随或?
当您遍历列表的 range
时,您可以将局部变量设置为实际索引和值(镜像 Go 语义)。因此,您可以将其更改为将 "or" 放在开头,但在第一次循环时跳过它。
data:
string:
{{ range $i, $v := .Values.foo -}}
{{- if ne $i 0 }} or {{ end -}}
{{- printf "%s and %s" $v.a $v.b -}}
{{- end }}
我有以下 values.yaml
-
foo:
- a: bar1
b: bar2
- a: bar3
b: bar4
我正在使用如下模板 -
data:
string:
{{range .Values.foo}}
{{ .a ` and ` .b ` or `}}
{{end}}
输出是 -
data:
string: bar1 and bar2 or bar3 and bar4 or
如何去掉尾随或?
当您遍历列表的 range
时,您可以将局部变量设置为实际索引和值(镜像 Go 语义)。因此,您可以将其更改为将 "or" 放在开头,但在第一次循环时跳过它。
data:
string:
{{ range $i, $v := .Values.foo -}}
{{- if ne $i 0 }} or {{ end -}}
{{- printf "%s and %s" $v.a $v.b -}}
{{- end }}