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