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

分类: 计算机技术
推荐阅读:
Rust assert_ne宏的用法和示例 在 Rust 中,assert_ne宏用于在测试时检查两个值是否不相等;如果它们不相等,则测试继续执行;如果它们相等,则会导致panic,并在控制台输出相关信息;
PySide6修改字体颜色 在 PySide6中,我们可以通过修改控件的样式表来修改字体颜色。
C语言中struct和typedef struct的用法和不同 在C语言中struct和typedef struct创建的结构体并没有什么不同,只是使用typedef后可以为结构体创建一个别名;
Python判断文本的相似度 在Python中,有多种方法可以判断文本的相似度,比如余弦相似度、Jaccard相似度;本文使用余弦相似度来计算两段文本的相似程度。
Windows下安装rust编译器详细教程 本文将介绍如何在Windows系统下安装Rust编译器。
#![allow(unused)] 的作用 #![allow(unused)] 是 Rust 编程语言中的一个指令。这个特定的指令用于消除编译器关于未使用代码或变量的警告。