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反转: