if表达式
if 表达式允许根据条件执行不同的代码分支。你提供一个条件并表示 “如果条件满足,运行这段代码;如果条件不满足,不运行这段代码。” 无返回值执行:
代码语言:javascript复制fn main() {
let number = 6;
if number < 10 {
println!("condition was true");
} else {
println!("condition was false");
}
}
输出:
condition was true
if 条件表达式的分支必须返回同一个类型的值。 有返回值执行:
代码语言:javascript复制fn main(){
let n = 13;
// if 表达式可以用来赋值
let big_n = if n < 10 && n > -10 {
// 分支必须返回同一个类型的值
10 * n
} else {
// 自动截取
n / 2
};
assert_eq!(big_n, 6);
}
注意:Rust 中的条件表达式必须是 bool 类型,例如下面的程序是错误的
代码语言:javascript复制fn main() {
let number = 3;
if number { // 报错,expected `bool`, found integerrustc(E0308)
println!("Yes");
}
}
使用循环重复执行
多次执行同一段代码是很常用的,Rust 为此提供了多种 循环(loops)。一个循环执行循环体中的代码直到结尾并紧接着回到开头继续执行。为了实验一下循环,让我们新建一个叫做 loops 的项目。 Rust 有三种循环:loop、while 和 for。可以使用 break 关键字来告诉程序何时停止循环。循环中的 continue 关键字告诉程序跳过这个循环迭代中的任何剩余代码,并转到下一个迭代。
loop
loop 关键字告诉 Rust 一遍又一遍地执行一段代码直到你明确要求停止。Rust 提供了一种从代码中跳出循环的方法。loop 循环,相当于一个 while true,需要程序自己 break:
代码语言:javascript复制fn main() {
let mut counter = 0;
let result = loop {
counter = 1;
if counter == 10 {
break counter * 2;
}
};
println!("The result is {result}");
}
输出:
The result is 20
while条件循环
在程序中计算循环的条件也很常见。当条件为真,执行循环。当条件不再为真,调用 break 停止循环。这个循环类型可以通过组合 loop、if、else 和 break 来实现;如果你喜欢的话,现在就可以在程序中试试。 示例 : 使用了 while:程序循环三次,每次数字都减一。接着,在循环结束后,打印出另一个信息并退出。
代码语言:javascript复制fn main() {
let mut number = 3;
while number != 0 {
println!("{number}!");
number -= 1;
}
println!("LIFTOFF!!!");
}
输出:
3! 2! 1! LIFTOFF!!!
for 循环
for 循环是最常用的循环结构,常用来遍历一个线性数据据结构(比如数组)。for 循环遍历数组:
代码语言:javascript复制fn main() {
let a = [10, 20, 30, 40, 50];
for i in a.iter() {
println!("value is : {}", i);
}
}
输出:
value is : 10 value is : 20 value is : 30 value is : 40 value is : 50
参考:https://kaisery.github.io/trpl-zh-cn/
本文内容到此结束了, 如有收获欢迎点赞