(九)Rust 控制流

if...else

if表达式可以根据条件来执行不同的代码分支

这个条件必须是bool类型

if表达式中,与条件相关联的代码块就叫分支(arm)

可选的,在后面可以加上一个else表达式

比如:

如果有多个分支,可以使用 else if 关键字,比如:

如上图示例,如果第一个if的判断不成立,那么程序就会按顺序进行else if的判断,当然如果分支多的话,也是可以进行多个else if判断的,但如果使用了多个else if ,可能会让代码看起来有点凌乱,这个时候最好用 match 来重构一下代码,举个简单的例子:

循环

Rust提供了3种循环:loop,while和for

loop循环,loop 关键字会告诉Rust反复执行一块代码,直到你喊停为止,比如:

这里它会一直重复打印,需要停止时,只能手动按 Ctrl + c键,这种停止的方式比较暴力,所以,可以在loop循环里面使用 break 关键字来告诉程序何时停止循环,举个简单的例子:

while 条件循环

这种循环模式,是每次执行循环体之前都会判断一次条件,如果符合条件,那么会执行循环体,如果不成立则跳出循环,直接用一个简单的例子说明吧:

接下来是最后一种循环

使用for循环遍历集合

其实也是可以使用loop或者是while来遍历集合的,但是容易出错且低效,比如:

上面的例子中,如果不小心写错了循环条件,写成了number < 6 ,那么索引就会超出范围,导致程序崩溃,而且遍历之前,都需要检查一下循环条件,所以执行相对来说比较慢

使用for循环更简洁紧凑,它可以针对集合中的每个元素来执行一些代码

使用for循环来遍历集合是既安全又快速的,首先索引不会出错,不会出现索引超出数组范围这种事,其次,每次遍历的时候也不需要检查条件,这样执行速度是比较快的,所以由于for循环的安全,简洁性,它在Rust里是用得最多的循环方式

此外再说一个关于for循环的小例子,是由标准库提供的Range方法,它可以指定一个开始数字和一个结束数字,Range可以生成它们之间的数字,但是不包含结束数字,而且它还有一个rev方法,可以反转Range,例子:

然后再试一下rev反转:

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值