在 Go 模板语言中查找列表中的对象

Find object in list in go template language

我有以下结构:

obj:
  - name: "listitem1"
    value: "value1"
  - name: "listitem2"
    value: "value2"
  - name: "listitem3"
    value: "value3"

我想检查 obj 是否包含具有 name = listitem2 的项目并获取其值。我可以使用一些聪明的函数来做到这一点,还是必须使用 rangeif 进行迭代?

无法通过内置函数检索该值。但是,可以使用以下语法检查是否存在特定的 key=value 对:

{{- if has (dict "name" "listitem1" "value" "value1") .Values.my.custom.value.map }}