Appearance
控制流
- 判断
rust
let a = 59;
if a < 60 {
print!("不及格!");
} else if a > 90{
print!("优秀!");
} else {
print!("良!");
}- 循环
while和loop
rust
let mut a = 5;
while a > 0 {
println!("while循环");
a = a - 1;
}rust
let mut a = 5;
loop {
a = a - 1;
println!("loop循环");
if a == 0{
break;
}
}
let b = loop {
a = a - 1;
println!("loop循环");
if a == 0{
break a; // break语句可以返回一个值.break a
}
};
println!("{}", b); // 0如果已知范围,使用for循环更加高效
rust
let a = [1,2,3,4,5];
for ele in a{
println!("{}", ele);
}
println!("===============");
// 下面这句也是创建了一个范围。注意,范围是左包又不包,所以右侧的值得是n+1
for ele in (1 .. 6){
println!("{}", ele);
}与其他语言不同的是,rust里的if和loop语句是表达式,这也就意味着它们是可以返回值的。
rust
let a = 5;
let b = if a > 0{
a
} else {
0
};
println!("{}", b); // 5for循环
rust
let a = [1,2,3,4,5];
for ele in a{
println!("{}", ele);
}
// 也可以不声明变量
for i in 0..10{
println!("{}", i);
}
for k in 0..=5{
println!("{}", k);
}
// 带等于号的包含右边界,不带的不包含右边界。它们的步进都是1。