侧边栏壁纸
博主头像
喵记博主等级

行动起来,活在当下

  • 累计撰写 18 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Rust(四):流程控制语句

张秋平
2024-02-07 / 0 评论 / 0 点赞 / 38 阅读 / 2184 字

Rust 中的流程控制语句

if 语句

let a  = 100;
if a > 50 {
   println!("a > 50");
} else if a > 100 {
    println!("a > 100");
} else {
    println!("a <= 500");
}

//> a > 50

match 语句

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 = hello
  • match 语句的返回值

let s  = "hello";
let result = match s {
    "world" => "s is world",
    "hello" => "s is hello",
    _ => "s is unknown"
};
println!("result: {}", result);

//> result: s is hello

if let 语句

  • if let 也是一种模式匹配语句,其功能类似于match语句,与match语句不同的地方在于,match语句是匹配所有可能的情况,而if let 只针对匹配时的情况

fn main() {
    let a = Some(123);

    if let Some(n) = a {
        println!("n = {}", n);
    }
}

//> n = 123

for 循环

// 左闭右开:
for i in 1..5 {
    println!("{}", i);
}
//> 输出: 1 2 3 4

// 左闭右闭
for i in 1..=5 {
    println!("{}", i);
}

//> 输出: 1 2 3 4 5

while 循环

let mut a = 5;
while a > 0 {
    println!("a = {}", a);
    a -= 1;
}

//> 输出: 5 4 3 2 1

loop 循环

let mut a = 5;
loop {
    if a < 0 {
        break;
    }
    println!("a = {}", a);
    a -= 1;
}

//> 输出: 5 4 3 2 1 0

0

评论区