Rust 中的命名中断 for 循环

Posted

技术标签:

【中文标题】Rust 中的命名中断 for 循环【英文标题】:Named breaks in for loops in Rust 【发布时间】:2014-05-19 07:15:43 【问题描述】:

有没有一种方法可以在 Rust 中嵌套 for 循环并从内部循环内部中断外部循环,例如可以这样做的方式在 Java 中?我知道 Rust 支持 loop 中的命名中断,但我似乎无法找到关于 for 的相同信息。

【问题讨论】:

【参考方案1】:

是的。它使用与生命周期相同的语法。

fn main() 
    'outer: for x in 0..5 
        'inner: for y in 0..5 
            println!(",", x, y);
            if y == 3 
                break 'outer;
            
        
    

见loop labels documentation和the reference的相关部分。

【讨论】:

@NoeticJun 在Infinite loops 一节中有提到(后面是Break 表达式)。虽然有点混乱,因为示例 break 是 break foo 而不是 break 'foo。它还使用“标签”和“生命周期”来指代同一事物。应该重写。

以上是关于Rust 中的命名中断 for 循环的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 for 循环重命名另一个列表中的列表元素?

使用 for 循环命名向量

在 Kotlin 中的功能循环中,如何“中断”或“继续”?

Java中的break和continue 区别

举例说明c语言中的中断语句break,continue,return的区别及相同之处

SSIS - 11.For循环容器