Rust循环控制结构详解

循环是编程中常见的控制结构之一,它允许程序重复执行一段代码。在Rust中,循环有三种主要的形式:loopwhilefor。本篇博客将介绍Rust中的这三种循环,并通过实例展示它们的用法和灵活性。

无限循环:loop

rust 复制代码
fn main() {
    let mut counter = 0;
    let result = loop {
        counter += 1;
        if counter == 10 {
            break counter * 2;
        }
    };
    println!("The result is: {}", result);
}

在上述例子中,我们使用了loop关键字创建了一个无限循环。循环体内的代码将一直执行,直到遇到break语句,这里break counter * 2表示循环结束时返回的值。在这个例子中,循环执行了10次,最终返回的结果是20。

条件循环:while

rust 复制代码
let mut n2 = 3;
while n2 != 0 {
    println!("{}!", n2);
    n2 = n2 - 1;
}
println!("LIFTOFF!!!");

while循环根据条件的真假来控制循环的执行。在上述例子中,循环体内的代码会一直执行,直到n2的值等于0。每次循环迭代,都会打印当前的n2值,并将其减一。最终输出的结果是一个倒计时。

迭代循环:for

rust 复制代码
let a = [10, 20, 30, 40, 50];
for el in a.iter() {
    println!("the value is: {}", el);
}

for循环用于遍历集合或区间。在上述例子中,我们使用for循环遍历数组a中的元素,并打印每个元素的值。这种形式的循环通常更具可读性,适用于处理集合中的每个元素。

区间反向迭代:rev()

rust 复制代码
for number in (1..4).rev() {
    println!("{}!", number);
}
println!("LIFTOFF!");

Rust中的rev()方法可以用于反向迭代。在上述例子中,我们使用(1..4).rev()创建了一个从1到3的区间,并通过rev()将其反向迭代。循环体内打印了区间中的每个数字,最终输出的结果是一个倒计时。

总体来说,Rust提供了多种形式的循环结构,每种都适用于不同的场景。无限循环、条件循环和迭代循环的组合使用,使得Rust的循环结构在编写各类算法和控制程序流程时表现出色。通过熟练掌握这些循环结构,开发者可以更加灵活地应对不同的编程需求。

相关推荐
我是一颗柠檬15 分钟前
【MySQL全面教学】MySQL性能优化实战Day13(2026年)
数据库·后端·sql·mysql·性能优化·database
磊 子22 分钟前
STL无序关联容器—unorded_set+unorded_map
开发语言·c++
AI人工智能+电脑小能手34 分钟前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试
小江的记录本41 分钟前
【JVM虚拟机】JVM调优:常用JVM参数、调优核心指标、OOM排查、GC日志分析、Arthas工具使用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
程序员cxuan1 小时前
我花了两天时间,终于把 Codex 额度掉太快的问题整明白了!!
人工智能·后端·程序员
IT_陈寒1 小时前
Vue这个动态响应坑把我整不会了
前端·人工智能·后端
金銀銅鐵1 小时前
[Java] 用图形化界面演示 iadd, isub, iconst_<i> 指令的效果
java·后端·python
AskHarries1 小时前
做国内还是出海
后端
YikNjy1 小时前
break和continue
java·开发语言·算法
日月云棠2 小时前
10 Integer —— 最常用的整数包装类深度解析
java·后端