MoonBit 语言导览 MoonBit

映射

映射是键值对的集合。每个键在映射中是唯一的,并且所有键都与一个值相关联。它是一个可变的集合。

形如 {"key1": value1, "key2": value2} 的表达式可以用来表示一个映射,称为 映射字面量。 如果映射的键和值类型是基本类型(IntStringBoolDouble 等),则映射可以使用 映射字面量的语法来表示。

其他情况下,我们可以使用 Map::of 函数创建映射。它接受一个由两个元素的元组组成的数组,其中第一个元素是键,第二个元素是值。

可以使用 map[key] 语法通过键访问映射中的值。

可以使用以下语法更新映射中的元素:map[key] = new_value

fn main {
  // Create a map by map literal
  let map1 = { "key1": 1, "key2": 2, "key3": 3 }
  println(map1)
  // You can also create a map by Map::of, from a list of key-value pairs
  let map2 = Map::of([("key1", 1), ("key2", 2), ("key3", 3)])
  println(map1 == map2)

  // Access a value by key
  println(map1["key1"])

  // Update a value by key
  map1["key1"] = 10
  println(map1)

  // test a if a key exists
  println(map1.contains("key1"))
}