我無法找到任何有關返回值類型的文檔,這些文檔在嘗試鍵入不存在關鍵字的映射時是如此。從轉到bug跟蹤這似乎是一個特殊的「沒有價值」Go模板比較運算符關於丟失的map key
我試圖用eq
功能來比較兩個值,但如果該鍵不存在,它給出了一個錯誤
例子:
var themap := map[string]string{}
var MyStruct := struct{MyMap map[string]string}{themap}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}
{{.}}
{{end}
結果error calling eq: invalid type for comparison
從這我假設零值不是空字符串""
因爲它是在圍棋本身。
有沒有簡單的方法來比較一個可能不存在的地圖值和另一個值?
一個非常優雅的解決方案。謝謝。 – Sam
也適用於舊版本的Go,與使用{{if}}/{{with}}的解決方案不同 –