1、if表达式,没什么说的,show me your code
fn main() {
let x = 2;
if x < 5 {
print!("condition is x < 5");
} else if x == 5 {
print!("condition is x == 5");
} else {
println!("condition is x > 5");
}
}
因为if是一个表达式,所以我们可以把它放到等号的右边
fn main() {
let condition = false;
let number = if condition {1} else {2};
print!("{}",number);
}
在rust中没有三元表达式
2、循环,rust提供了三种循环 loop、while、for
loop循环
loop关键字告诉rust要反复的执行一部分代码,直到你喊停
fn main() {
loop {
print!("again")
}
}
你执行就会发现它停不下来,那我们怎么要他停下来勒,我们可以使用break关键字
fn main() {
let mut number = 0;
let result = loop {
number += 1;
print!("{}",number);
if number == 10 {
break number * 2;
}
};
println!("This value is {}",result)
}
注意在rust中没有自增运算符(a++)
while循环
这种循环和其他语言的循环没多大区别
fn main() {
let mut number = 10;
while number != 5 {
number -= 1;
}
println!("This value is {}",number)
}
for循环
我们可以使用while或者loop来遍历集合,但是容易出错而且效率比较低
fn main() {
let a = [10,20,30,40,50];
let mut index = 0;
while index != 5 {
println!("{}",a[index]);
index += 1;
}
}
然后我们再来使用for循环来试试
fn main() {
let a = [10,20,30,40,50];
for item in a.iter() {
println!("{}",item)
}
}
我们可以手动的生成一个集合来遍历
fn main() {
for item in (1..4).rev() {
println!("{}",item)
}
}
(1...4)表示生成1到3的数,rev的方法表示将它反转,从3到1.