2 回答
TA贡献1804条经验 获得超2个赞
使用索引函数:
{{if eq (index .MyMap "KeyThatDoesntExist") "mystring"}}
{{.}}
{{end}}
index当键不在映射中时,该函数返回映射值类型的零值。问题中地图的零值是空字符串。
TA贡献1878条经验 获得超4个赞
可以先检查key是否在map中,如果有才进行比较。您可以检查另一个{{if}}操作或{{with}}设置管道的操作。
使用{{with}}:
{{with .MyMap.KeyThatDoesntExist}}{{if eq . "mystring"}}Match{{end}}{{end}}
使用另一个{{if}}:
{{if .MyMap.KeyThatDoesntExist}}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}Match{{end}}{{end}}
请注意,您可以添加{{else}}分支以涵盖其他情况。全面覆盖{{with}}:
{{with .MyMap.KeyThatDoesntExist}}
{{if eq . "mystring"}}
Match
{{else}}
No match
{{end}}
{{else}}
Key not found
{{end}}
全面覆盖{{if}}:
{{if .MyMap.KeyThatDoesntExist}}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}
Match
{{else}}
No match
{{end}}
{{else}}
Key not found
{{end}}
请注意,在所有完整覆盖变体中,如果 key 存在但关联的 value 是"",则也将导致"Key not found".
- 2 回答
- 0 关注
- 156 浏览
添加回答
举报