【Rust】loop 循环

环境

  • Rust 1.56.1
  • VSCode 1.60.2

概念

参考:https://doc.rust-lang.org/stable/rust-by-example/flow_control/loop.html

使用 loop 关键字来定义一个无限循环。

示例

loop 循环

loop 循环中,可以使用 break 跳出循环,使用 continue 继续下次循环。

fn main() {
    let mut count = 0u32;
    println!("Let's count until infinity!");
    loop {
        count += 1;
        if count == 3 {
            println!("three");
            // 跳过循环
            continue;
        }

        println!("{}", count);

        if count == 5 {
            println!("OK, that's enough");
            // 退出循环
            break;
        }
    }
}

嵌套循环和标签

如果有多层嵌套循环需要跳过或者退出,可以使用标签。

fn main() {
    'outer: loop {
        println!("Entered the outer loop");
        'inner: loop {
            println!("Entered the inner loop");
            // 可以直接跳出外层循环
            break 'outer;
        }
        println!("This point will never be reached");
    }
    println!("Exited the outer loop");
}

返回值

若要在循环中返回一个值,可以放在 break 后面。

fn main() {
    let mut counter = 0;
    let result = loop {
        counter += 1;
        if counter == 10 {
            // 直接在这里返回值
            break counter * 2;
        }
    };
    assert_eq!(result, 20);
}

总结

了解了 Rust 中的 loop 循环,可以使用多层循环,也可以在循环中返回值。

附录

posted @   jiangbo4444  阅读(414)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-11-30 spring-boot 环境搭建(一)
点击右上角即可分享
微信分享提示