MoonBit 语言导览 MoonBit

循环

本示例展示了使用for循环和while循环遍历数组。

for循环表达式

for循环类似于C风格的for循环:

for 初始化; 条件; 增量 {
    // 循环体
}

循环开始前执行初始化部分。每次迭代时:

  1. 检查条件表达式
  2. 若条件为真则执行循环体
  3. 执行增量表达式
  4. 重复上述步骤直到条件为假

MoonBit的for循环比C风格更灵活,后续章节将详细说明。

while循环表达式

while循环同样类似C风格:

while 条件 {
    // 循环体
}

执行流程:

  1. 检查条件表达式
  2. 若条件为真则执行循环体
  3. 重复上述步骤直到条件为假

MoonBit也支持在循环中使用continuebreak语句。

fn main {
  let array = [1, 2, 3]

  println("for loop:")
  for i = 0; i < array.length(); i = i + 1 {
    println("array[\{i}]: \{array[i]}")
  }

  println("\nfunctional for loop:")

  let sum = for i = 1, acc = 0; i <= 10; i = i + 1 {
    let even = i % 2 == 0
    continue i + 1, acc + i
  } else {
    acc
  }
  println(sum)

  println("\nwhile loop:")
  let mut j = 0
  while true {
    println("array[\{j}]: \{array[j]}")
    j = j + 1
    if j < array.length() {
      continue
    } else {
      break
    }
  }
}