2 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
使用索引函數(shù):
{{if eq (index .MyMap "KeyThatDoesntExist") "mystring"}}
{{.}}
{{end}}
index當(dāng)鍵不在映射中時(shí),該函數(shù)返回映射值類型的零值。問(wèn)題中地圖的零值是空字符串。

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
可以先檢查key是否在map中,如果有才進(jìn)行比較。您可以檢查另一個(gè){{if}}操作或{{with}}設(shè)置管道的操作。
使用{{with}}:
{{with .MyMap.KeyThatDoesntExist}}{{if eq . "mystring"}}Match{{end}}{{end}}
使用另一個(gè){{if}}:
{{if .MyMap.KeyThatDoesntExist}}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}Match{{end}}{{end}}
請(qǐng)注意,您可以添加{{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}}
請(qǐng)注意,在所有完整覆蓋變體中,如果 key 存在但關(guān)聯(lián)的 value 是"",則也將導(dǎo)致"Key not found".
- 2 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)