If语句
- 基本语法:
if
语句可以根据条件执行不同的代码块,else if
和else
可以处理多种情况。 - 布尔条件:条件必须是布尔类型。
- 表达式:
if
语句可以作为表达式,返回一个值。
基本语法
number
的值是 7,因此 else
代码块会被执行,输出为:The number is greater than or equal to 5
fn main() {
let number = 7;
if number < 5 {
println!("The number is less than 5");
} else {
println!("The number is greater than or equal to 5");
}
}
if condition {
// 当 condition 为 true 时执行的代码块
} else if another_condition {
// 当 another_condition 为 true 时执行的代码块
} else {
// 当以上条件都不满足时执行的代码块
}
if
语句作为表达式
if
语句可以作为表达式,返回一个值。这在赋值和函数返回值时非常有用。
fn main() {
let condition = true;
let number = if condition { 5 } else { 6 };
println!("The value of number is: {}", number);
}
condition
为 true
,因此 number
的值为 5,输出为:The value of number is: 5
循环
在 Rust 中,有三种主要的循环类型:loop
、while
和 for
。每种类型都有不同的用途和适用场景。
loop
loop
会无限循环,直到明确退出。可以通过 break
语句跳出循环。
示例
fn main() {
let mut count = 0;
loop {
count += 1;
if count == 5 {
break;
}
}
println!("The loop ran {} times", count);
}
loop
会一直运行,直到 count
等于 5 时通过 break
跳出循环.输出为:The loop ran 5 times
while
while
循环,每次都会检查条件,会在条件为 true
时反复执行代码块,当条件为 false
时结束。
如果要无限循环,使用loop
示例
fn main() {
let mut number = 3;
while number != 0 {
println!("{}!", number);
number -= 1;
}
println!("LIFTOFF!!!");
}
在这个示例中,while
循环会在 number
不等于 0 时继续执行,输出为:
3!
2!
1!
LIFTOFF!!!
for
for
循环用于遍历集合中的每个元素。它比 while
循环更简洁和安全,因为 for
循环不需要手动管理索引。
迭代范围
for x in 0..10 {
println!("{}", x); // x: i32
}
迭代数组
fn main() {
let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("The value is: {}", element);
}
}
在这个示例中,for
循环会遍历数组 a
中的每个元素,输出为:
The value is: 10
The value is: 20
The value is: 30
The value is: 40
The value is: 50
Enumerate
方法
enumerate
方法用于创建一个迭代器,该迭代器在迭代的同时生成一个索引和值对。- 适用于需要在迭代过程中访问索引和值的场景。
迭代范围
for (i,j) in (5..10).enumerate() {
println!("i = {} and j = {}", i, j);
}