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

分类: 计算机技术
推荐阅读:
Python globals()函数 globals() 是 Python 内置函数之一,用于返回当前全局作用域中所有变量的字典。这个字典包含了所有已定义的全局变量,键为变量名,值为对应的值。可以通过修改这个字典中的变量来更新全局作用域中的变量。
Golang中 import cycle not allowed 的解决方法 在Go语言中,在使用import导入相应的包时,你可能会碰到 import cycle not allowed 这样的问题,出现这样的问题是你的包没有规划好,导致包相互依赖;
修改Visual Studio Code的主题颜色 首先,打开Visual Studio Code ,右下角有一个齿轮模样的图标,点击图标打开菜单,选择 Color Theme,你将看到如下画面:
PySide6 QKeyEvent:键盘事件类 QKeyEvent是PySide6中用于表示键盘事件的类,用于处理与键盘相关的用户输入事件,如按键、释放等;
Python isinstance()函数 在Python中,isinstance()函数用于判断一个对象是否是指定类或类型的实例。
Python读写JSON文件、解析JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式;本文将通过多个例子讲解在Python中如何读写json文件,如何解析JSON内容,以及如何将JSON对象与Python字典相互转换;