Rust loop循环详细用法

当需要多次执行同一段代码时,循环就能很好的解决问题;Rust语言中支持多种循环,本文将介绍loop循环;

Rust中的loop循环,不仅支持breakcontinue关键字,在多层嵌套时,可break指定的loop循环,而且loop循环可拥有返回值

使用 loop 重复执行代码

下面这段代码将无限循环的打印hello world,直到你按下Ctrl - C终止程序运行;

fn main() {

    loop {
        println!("hello world");
    }
}

跳出 loop 循环

当需要跳出循环体时,可使用break关键字;

修改前面的例子,循环体执行了 10 次就退出循环;

fn main() {

    let mut times = 0;
    loop {
        if times > 9 {
            break;
        }
        println!("hello world");

        times = times + 1;
    }
}

当存在多个循环嵌套时,可以为循环标记一个循环标签,使用break可跳出指定的循环;具体用法,请看例子:

fn main() {

    let mut count = 0;

    'label1:loop {
        
        loop {
            count = count + 1;
            if count == 10{
                break; //跳出当前循环
            }

            println!("{}",count);

            if count > 20{
                break 'label1; //跳出标签为 label1 的循环
            }
        }
    }
}

这段代码将打印除了10以外,1到21的数;

你还可使用continue关键字结束本次循环,开始下一次循环;

loop循环体的返回值

在Rust中,loop循环体可以拥有一个返回值:

fn main() {

    let mut count = 0;
    let result = loop {
        count += 1;
        
        if count ==10{
            break count *10;
        }
    };
    println!("{}",result);
}

当count累加到10时,退出循环,并返回count的十倍数;

程序运行结果:

100

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/loop-in-rust.html

分类: 计算机技术
推荐阅读:
ettercap扫描不到主机的解决方法 本文将详细讲解在Kali系统下使用Ettercap图形界面模式时扫描不到主机的问题,并提供问题排除方法;
Windows10查看WiFi密码 要在Windows10上查看当前所使用的WiFi密码,只需要依次打开【控制面板】【网络和Internet】【查看网络状态和任务】【点击当前WiFi属性】【无线属性】【安全】,选中显示字符即可查看;
requests中的超时(timeout)设定和捕获异常 为防止服务器不能及时响应,大部分发至外部服务器的请求都应该带着 timeout 参数。在默认情况下,除非显式指定了 timeout 值,requests 是不会自动进行超时处理的。如果没有 timeout,你的代码可能会挂起若干分钟甚至更长时间。
Golang中如何表示无穷大 在Golang中,可以使用math包中的Inf函数来表示无穷大;具体来说,使用math包中的Inf(1)表示正无穷大,Inf(-1)表示负无穷大。
Linux终端给命令设置超时 在Linux系统下,有这么个场景,当你运行一条命令,你希望它在指定时间后,如果它还在运行,就自动结束它,那你可以通过这一条命令实现:
OpenSSL1.x和OpenSSL3.x的区别 OpenSSL 1.x和OpenSSL 3.x是两个不同版本的OpenSSL库,其中有很多重要的区别: