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 { ...