MoonBit 语言导览 MoonBit

if 表达式

if 表达式是带有返回值的条件控制流表达式。

在 if 表达式中:

  • 每个分支必须具有相同类型
  • 当条件为真时返回第一个分支的值
  • 否则返回第二个分支的值

else 部分可省略。若省略,整个 if 表达式类型将为 Unit

在 else 部分中嵌套 if 表达式时,可简写为 else if 形式

fn fib(x : Int) -> Int {
  if x < 2 {
    x
  } else {
    fib(x - 1) + fib(x - 2)
  }
}

fn main {
  if 5 > 1 {
    println("5 is greater than 1")
  }
  println(fib(5))
  println(weekday(3))
}

fn weekday(x : Int) -> String {
  if x == 1 {
    "Monday"
  } else if x == 2 {
    "Tuesday"
  } else if x == 3 {
    "Wednesday"
  } else if x == 4 {
    "Thursday"
  } else if x == 5 {
    "Friday"
  } else if x == 6 {
    "Saturday"
  } else if x == 7 {
    "Sunday"
  } else {
    "Invalid day"
  }
}