檢查地圖中的元素

要從地圖中獲取值,你只需執行以下操作: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
}