Rust 中的流程控制语句
if 语句
let a  = 100;
if a > 50 {
   println!("a > 50");
} else if a > 100 {
    println!("a > 100");
} else {
    println!("a <= 500");
}
//> a > 50match 语句
let a  = 100;
match a {
    100 => println!("a = 100"),
    200 => println!("a = 200"),
    _ => println!("default"),
}
//> a = 100
let s  = "hello";
match s {
    "world" => println!("a = world"),
    "hello" => println!("a = hello"),
    _ => println!("default"),
}
//> a = hellomatch 语句的返回值
let s  = "hello";
let result = match s {
    "world" => "s is world",
    "hello" => "s is hello",
    _ => "s is unknown"
};
println!("result: {}", result);
//> result: s is helloif let 语句
if let也是一种模式匹配语句,其功能类似于match语句,与match语句不同的地方在于,match语句是匹配所有可能的情况,而if let只针对匹配时的情况
fn main() {
    let a = Some(123);
    if let Some(n) = a {
        println!("n = {}", n);
    }
}
//> n = 123for 循环
// 左闭右开:
for i in 1..5 {
    println!("{}", i);
}
//> 输出: 1 2 3 4
// 左闭右闭
for i in 1..=5 {
    println!("{}", i);
}
//> 输出: 1 2 3 4 5while 循环
let mut a = 5;
while a > 0 {
    println!("a = {}", a);
    a -= 1;
}
//> 输出: 5 4 3 2 1loop 循环
let mut a = 5;
loop {
    if a < 0 {
        break;
    }
    println!("a = {}", a);
    a -= 1;
}
//> 输出: 5 4 3 2 1 0
                      
                      
                    
          
            
          
评论区