Carbon语言 条件语句和循环语句

条件语句是在程序执行过程中判断设定的条件是否成立,根据判断结果执行不同的操作。

循环语句是一组被重复执行的语句,也称之为循环体,能否继续重复,决定循环的终止条件。

1.  if 条件语句

if (fruit.IsYellow()) {
  Console.Print("Banana!");
} else if (fruit.IsOrange()) {
  Console.Print("Orange!");
} else {
  Console.Print("Vegetable!");
}

和 C/C++ 语法一样。

2.  while 循环语句

var x: i32 = 0;
while (x < 3) {
  Console.Print(x);
  ++x;
}
Console.Print("Done!");

也和C++一样。

3.  for 循环语句

 for (var step: Step in steps) {
  if (step.IsManual()) {
    Console.Print("Reached manual step!");
    break;
  }
  if (step.NotReady()) {
    continue;
  }
  step.Process();
}

for 语句的语法是 for-range 循环的语法。Carbon支持break和continue。

4.  match 匹配语句

Carbon 中没有 switch,但是有match。

fn Bar() -> (i32, (f32, f32));

fn Foo() -> f32 {
  match (Bar()) {
    case (42, (x: f32, y: f32)) => {
      return x - y;
    }
    case (p: i32, (x: f32, _: f32)) if (p < 13) => {
      return p * x;
    }
    case (p: i32, _: auto) if (p > 3) => {
      return p * Pi;
    }
    default => {
      return Pi;
    }
  }
}

不过 C++ 中的 switch 能比较的只能是整型、枚举。

函数是由多条语句组成的代码块,具有一定功能,用于完成一项特定任务。通常每一个程序都包含有很多的函数,系统通过函数来划分不同功能,将整体任务进行分解。fn Add(a: i64, b: i64) -> i64 { ...