MoonBit 语言导览 MoonBit

For-in 循环

手动编写 for 循环并决定结束条件较为繁琐。

若需遍历集合,可使用 for .. in ... {} 循环。

第一个 for-in 循环遍历数组,每次迭代会将元素绑定至变量 element

第二个循环遍历键值对映射(Map),将键绑定至第一个变量 (k),值绑定至第二个变量 (v)。

哪些集合支持 for-in 循环?何时支持双变量遍历?这取决于集合的 API 设计:

  • 若集合提供 iter() 方法返回 Iter[V] 迭代器,则支持单变量遍历
  • 若集合提供 iter2() 方法返回 Iter2[K,V] 迭代器,则支持双变量遍历

我们将在后续章节详解迭代器机制。

fn main {
  println("for-in loop:")
  let array = [1, 2, 3]
  for element in array {
    println("element: \{element}")
  }

  println("for-in loop with index:")
  for i, element in array {
    println("index: \{i}, element: \{element}")
  }
  
  println("for-in loop for map:")
  let map = { "key1": 1, "key2": 2, "key3": 3 }
  for k, v in map {
    println("key: \{k}, value: \{v}")
  }
}