前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rust:从嵌套循环中退出

Rust:从嵌套循环中退出

作者头像
灯珑LoGin
发布2022-11-16 16:56:30
1.3K0
发布2022-11-16 16:56:30
举报
文章被收录于专栏:龙进的专栏

在C语言中,我们常用goto语句来在错误条件下跳转到函数的数据清理部分。这种用法的好处尤其体现在“错误发生在嵌套循环”的时候,我们不用每一层循环都加一个标志位,逐级退出。

由于goto的滥用会让程序的控制流程变得混乱,因此,在Rust中是不支持goto语句的。那么,我们如何从嵌套循环中快速退出呢?我们可以通过循环标签的方法来退出。如下面这个例子所示:

代码语言:javascript
复制
fn main() {
    'outer: for x in 0.. {
        for y in 0.. {
            for z in 0.. {
                if x + y + z > 1000 {
                    {
                        println!("x={x}, y={y}, z={z}", x = x, y = y, z = z);
                        break 'outer;
                    }
                }
            }
        }
    }
    println!("done");
}

我们指定最外层的循环的标签为‘outer,当我们要退出的时候,我们就直接break ‘outer就能直接退出最外层循环,输出最底下的”done”字符串。

输出结果如下:

代码语言:javascript
复制
x=0, y=0, z=1001
done

转载请注明来源:https://longjin666.cn/?p=1584

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月6日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档