が欠落上の私は、キーが存在しないマップにキーをしようとすると、戻り値の型が何であるかについて、任意のドキュメントを見つけることができません。囲碁バグトラッカーから、私がeq
機能を使用して2つの値を比較しようとしている特別な「何の価値」ゴーテンプレート比較演算子マップキー
をしないように見えますが、キーが存在しない場合はエラーを与える
例:
このことからerror calling eq: invalid type for comparison
で
var themap := map[string]string{}
var MyStruct := struct{MyMap map[string]string}{themap}
{{if eq .MyMap.KeyThatDoesntExist "mystring"}}
{{.}}
{{end}
結果は、私はそれが行くそのものにあるとnilの値が空の文字列""
ではないことを前提としています。
潜在的に存在しないマップ値と別の値を比較するための簡単な方法はありますか?
非常に洗練されたソリューションです。ありがとうございました。 – Sam
{{if}}/{{with}}を使用するソリューションとは異なり、古いバージョンのGoでも動作します。 –