以下作品
{{- if hasKey (index $envAll.Values.policy) "type" }}
{{- if has "two-wheeler" (index $envAll.Values.policy "type") }}
<code goes here>
{{- end }}
{{- end }}
而以下失败并出现“运行时错误:无效的内存地址或零指针取消引用”
{{- if and (hasKey (index $envAll.Values.policy) "type") (has "two-wheeler" (index $envAll.Values.policy "type")) }}
<code goes here>
{{- end}}
在 $envAll.Values.policy 下没有声明名称为“类型”的列表。
在 Go 中,如果有条件地评估正确的操作数,为什么在第二个代码片段中评估最后一个条件?我该如何解决?
编辑(因为它被标记为重复):不幸的是,我不能像另一篇文章中提到的那样使用嵌入式 {{ if }}。
我在上面简化了我的问题。我实际上必须实现这一目标......
{{if or (and (condition A) (condition B)) (condition C)) }}
<code goes here>
{{ end }}