I am unable to find any documentation regarding what the type of the return value is when attempting key into a map in which the key doesn't exist. From the Go bug tracker it appears to be a special 'no value'
I'm trying to compare two values using the eq
function but it gives an error if the key doesn't exist
Example:
var themap := map[string]string{}
var MyStruct := struct{MyMap map[string]string}{themap}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}
{{.}}
{{end}
Results in error calling eq: invalid type for comparison
From this I assume that the nil value is not the empty string ""
as it is in Go itself.
Is there a simple way to compare a potentially non-existent map value and another value?