Rust包含loop,专为无限循环设计:

使用关键字loopRust可以无限期地循环,直到

我想不出哪种情况下我希望我的循环永远运行下go .是否存在无限循环有用的情况?

推荐答案

loop通常用于循环,我们希望在循环的身体中部休息.也就是说,您想在测试任何条件之前做一些事情,然后在满足某些条件时退出循环,然后做一些只有在测试条件之后才能做的事情,然后重复.在其他语言中,这通常表示为while (true)for (;;).这种情况很常见,Rust决定采用这种模式,保留一个关键字来声明没有进入条件的循环.

此外,Rust没有C的do..while循环的类似功能,后者在迭代结束时测试一个条件,但在第一次迭代之前不测试.在Rust中,您可以在循环的末尾使用loopif condition { break }语句来模拟它.do..while个循环在实践中相对少见,比我经验中的"中间打断"循环更少见.

Rust相关问答推荐

什么是谓词的简短和简洁类型

如何创建引用构造函数拥有的变量的对象?

如何使用盒装枚举进行模式匹配?

当T不执行Copy时,如何返回Arc Mutex T后面的值?

为什么我需要 to_string 函数的参考?

是否可以在不直接重复的情况下为许多特定类型实现一个函数?

如何重命名 clap_derive 中的子命令占位符?

`UnsafeCell` 在没有锁定的情况下跨线程共享 - 这可能会导致 UB,对吗?

tokio::spawn 有和没有异步块

为什么我们有两种方法来包含 serde_derive?

Rust:`sort_by` 多个条件,冗长的模式匹配

bcrypt 有长度限制吗?

Rust 中函数的类型同义词

RAII 模式的 Rust 解决方案,用于在 new() 和 drop() 上修改另一个对象

Rust 中的通用 From 实现

带有库+多个二进制文件的Cargo 项目,二进制文件由多个文件组成?

为什么 std::iter::Peekable::peek 可变地borrow self 参数?

在传输不可复制的值时实现就地枚举修改

为什么当borrow 变量发生变化时,borrow 变量不会改变?

为什么我不能将元素写入 Rust 数组中移动的位置,但我可以在元组中完成