ниже работает
{{- 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}}
Нет списка по имени "type", объявленного в $ envAll.Values.policy.
В Go, если правый операнд вычисляется условно, почему последнее условие вычисляется во втором фрагменте кода? Как мне это решить?
Редактировать (поскольку он помечен как дубликат):
К сожалению, я не могу использовать встроенный {{if}}, как указано в другом посте.
Я упростил мою проблему выше. Я действительно должен достичь этого ...
{{if or (and (condition A) (condition B)) (condition C)) }}
<code goes here>
{{ end }}