Appearance
2. 流程控制
if语句
- 第一种
rust
if condition == true {
// A...
} else {
// B...
}
if condition == true {
// A...
} else {
// B...
}
2.第二种
此处返回的 5 和 6 就是同一个类型,如果返回类型不一致就会报错
rust
let number = if condition {
5
} else {
6
};
let number = if condition {
5
} else {
6
};
else if
rust
if n % 4 == 0 {
println!("number is divisible by 4");
} else if n % 3 == 0 {
println!("number is divisible by 3");
} else if n % 2 == 0 {
println!("number is divisible by 2");
} else {
println!("number is not divisible by 4, 3, or 2");
}
if n % 4 == 0 {
println!("number is divisible by 4");
} else if n % 3 == 0 {
println!("number is divisible by 3");
} else if n % 2 == 0 {
println!("number is divisible by 2");
} else {
println!("number is not divisible by 4, 3, or 2");
}
for 循环
- 循环数字
rust
// 这种写法包含5
for i in 1..=5 {
println!("{}", i);
}
// 这种写法不包含5
for i in 1..5 {
println!("{}", i);
}
// 这种写法包含5
for i in 1..=5 {
println!("{}", i);
}
// 这种写法不包含5
for i in 1..5 {
println!("{}", i);
}
- 循环引用
rust
for item in &container {
// ...
}
for item in &container {
// ...
}
- 循环中修改值
rust
for item in &mut collection {
// ...
}
for item in &mut collection {
// ...
}
- 循环中使用索引
rust
fn main() {
let a = [4, 3, 2, 1];
// `.iter()` 方法把 `a` 数组变成一个迭代器
for (i, v) in a.iter().enumerate() {
println!("第{}个元素是{}", i + 1, v);
}
}
fn main() {
let a = [4, 3, 2, 1];
// `.iter()` 方法把 `a` 数组变成一个迭代器
for (i, v) in a.iter().enumerate() {
println!("第{}个元素是{}", i + 1, v);
}
}
while 循环
rust
fn main() {
let mut n = 0;
while n <= 5 {
println!("{}!", n);
n = n + 1;
}
println!("我出来了!");
}
fn main() {
let mut n = 0;
while n <= 5 {
println!("{}!", n);
n = n + 1;
}
println!("我出来了!");
}
loop 循环
rust
loop {
if n > 5 {
break
}
println!("{}", n);
n+=1;
}
loop {
if n > 5 {
break
}
println!("{}", n);
n+=1;
}
建议使用iter遍历
建议使用iter()遍历,而不是直接遍历a
a.iter() 可以返回一个迭代器,它可以遍历集合 a 中的每个元素的引用。如果你不使用 iter() 方法,而是直接使用 a,则会发生隐式的解引用操作,将集合中的元素复制到迭代器中。使用 iter() 方法可以避免在迭代器中复制集合中的元素,从而提高性能。
rust
let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("the value is: {}", element);
}
let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("the value is: {}", element);
}