if
表达式
Rust的if...else if ... else
基本语法和大多编程语言类似,这里不再赘述。
if 条件 {
//...
} else if 条件 {
//...
} else {
//...
}
注意,这里的条件表达式不包含()
括号,直接写表达式即可:
let number = 3;
if number > 0 {
println!("number was three");
}
在let
中使用if
因为 if 是一个表达式,我们可以在 let 语句的右侧使用它:
fn main() {
let condition = true;
let number = if condition {
5
} else {
6
}; //不要漏掉这里的分号`;`
println!("number = {}", number);
}
这里有三点要注意:
if
表达式大括号最后的分号;
不能漏掉;if...else
代码块里面的表达式不能加;
分号;if...else
代码块里面的表达式类型必须一致;
循环
Rust有三种循环:
loop
while
for
loop
循环
loop
其实就是个死循环,除非明确告诉要求停止。
fn main() {
loop {
println!("again!");
}
}
当然,我们可以使用break
来停止循环,break
还可以返回一个值。
fn main() {
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; //这里经测试,尾部的分号可加可不加,都可以
}
};
assert_eq!(result, 20);
}
while
循环
在程序中计算循环的条件也很常见。当条件为真,执行循环。当条件不再为真,调用 break 停止循环。这个循环类型可以通过组合 loop、if、else 和 break
来实现。
然而,这个模式太常用了,Rust 为此内置了一个语言结构,它被称为 while 循环
。
for
循环
Rust也提供了更加常用的for
循环:
fn main() {
let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("the value is: {}", element);
}
}
循环中也可以使用continue
和break
语法。