檢查地圖中的元素
要從地圖中獲取值,你只需執行以下操作:00
value := mapName[ key ]
如果對映包含鍵,則返回相應的值。
如果不是,則返回地圖值型別的零值(如果 int
值的地圖則為 0
,如果是 string
值的地圖則為 ""
…)
m := map[string]string{"foo": "foo_value", "bar": ""}
k := m["foo"] // returns "foo_value" since that is the value stored in the map
k2 := m["bar"] // returns "" since that is the value stored in the map
k3 := m["nop"] // returns "" since the key does not exist, and "" is the string type's zero value
要區分空值和不存在的鍵,可以使用對映訪問的第二個返回值(使用類似 value, hasKey := map["key"]
)。
第二個值是 boolean
型別,將是:
true
當值在地圖中時,false
當地圖不包含給定的金鑰時。
請看以下示例:
value, hasKey = m[ key ]
if hasKey {
// the map contains the given key, so we can safely use the value
// If value is zero-value, it's because the zero-value was pushed to the map
} else {
// The map does not have the given key
// the value will be the zero-value of the map's type
}