登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

Rust 循环

时间:2026-08-20 22:30:31 476浏览 收藏

Rust 除了灵活的条件语句以外,循环结构的设计也十分成熟。这一点作为身经百战的开发者应该能感觉出来。

Rust 循环

while 循环

while 循环是最典型的条件语句循环:

实例

fn main() {
    let mut number = 1; 
    while number != 4 { 
        println!("{}", number); 
        number += 1; 
    } 
    println!("EXIT"); 
} 

运行结果:

1
2
3
EXIT

Rust 语言到此教程编撰之日还没有 do-while 的用法,但是 do 被规定为保留字,也许以后的版本中会用到。

在 C 语言中 for 循环使用三元语句控制循环,但是 Rust 中没有这种用法,需要用 while 循环来代替:

C 语言

int i; 
for (i = 0; i 

Rust

let mut i = 0; 
while i 

for 循环

for 循环是最常用的循环结构,常用来遍历一个线性数据结构(比如数组)。for 循环遍历数组:

实例

fn main() { 
    let a = [10, 20, 30, 40, 50]; 
    for i in a.iter() { 
        println!("值为 : {}", i); 
    } 
} 

运行结果:

值为 : 10
值为 : 20
值为 : 30
值为 : 40
值为 : 50

这个程序中的 for 循环完成了对数组 a 的遍历。a.iter() 代表 a 的迭代器(iterator),在学习有关于对象的章节以前不做赘述。

当然,for 循环其实是可以通过下标来访问数组的:

实例

fn main() { 
let a = [10, 20, 30, 40, 50]; 
    for i in 0..5 { 
        println!("a[{}] = {}", i, a[i]); 
    } 
} 

运行结果:

a[0] = 10
a[1] = 20
a[2] = 30
a[3] = 40
a[4] = 50

loop 循环

做开发做久了,这类场景几乎都碰到过:有些循环在一开始或结尾根本没法判断要不要继续,偏偏得等执行到循环体中间的某个位置,才能决定循环是否还要往下走。碰上这种情况,最常见的处理方式,往往就是先用一个 while (true) 把循环跑起来,再在合适的时机从中途退出。

Rust 语言有原生的无限循环结构 —— loop:

实例

fn main() { 
    let s = ['R', 'U', 'N', 'O', 'O', 'B']; 
    let mut i = 0; 
    loop { 
        let ch = s[i]; 
        if ch == 'O' { 
            break; 
        } 
        println!("'{}'", ch);
        i += 1; 
    } 
} 

运行结果:

'R' 
'U' 
'N' 

loop 循环支持通过 break 关键字,像 return 那样直接结束整个循环,并顺带把一个返回值带到外部。这种设计其实很巧:loop 这类循环本来就经常被拿来做查找,一旦目标找到了,自然就该把结果立刻交出来:

实例

fn main() { 
    let s = ['R', 'U', 'N', 'O', 'O', 'B']; 
    let mut i = 0; 
    let location = loop { 
        let ch = s[i];
        if ch == 'O' { 
            break i; 
        } 
        i += 1; 
    }; 
    println!(" 'O' 的索引为 {}", location); 
} 

运行结果:

 'O' 的索引为 3
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>