7、for循环
for循环
while,loop循环等,他们的条件表达式的模式匹配比较单一,Rust提供的的for循环,有更强大的模式匹配功能,它可以使用更简单的方式去遍历一个数字序列
for循环也可以轻松的遍历迭代器,一般的语法结构如下:
for <element> in <iterator>{
}
ranges
范围
Rust的标准库提供了一种范围类型,可以用来遍历一个数字序列
比如可以这样遍历1->5
let mut sum=0;
for i in 1..=5{
sum+=i;
}
任何时候执行代码,在控制流到达循环体之前,i都会被赋给一个范围中的下一个值
这里有五种范围的表示方式
- 1..5 : 半开放范围,它包含1到4的所有数字,不包含最后一个数字5,相当于i<5
- 1..=5 : 包含范围,包含从1到5的所有数字,它包含最后一个值,相当于i<=5
- 1.. : 开放末尾范围,只有起始值,没有终止值,终止值就是integer的最大值
- ..5 : 从整数类型的最小值开始到4结束的范围。不包含最后一个值5。
- ..=5 : 从整数类型的最小值开始到5结束的范围。包含最后一个值5。
前三个还比较常用,后两个好像后面有的地方会用到
范围的极值,也并不一定要是一个数,也可以让变量或表达式作为范围的极值
let end = 5;
let mut sum = 0;
for i in 1..(end + 1) {
sum += i;
}
练习
还是用for循环完成那个阶乘的例子
还挺简单的吧
pub fn factorial(n: u32) -> u32 {
let mut res=1;
for i in 1..=n{
res*=i;
}
res
}
for循环就先到这里了,上一节也学了很多关于for循环的内容
阅读剩余
版权声明:
作者:CN059
链接:https://www.cn059.com/2025/08/30/7%e3%80%81for%e5%be%aa%e7%8e%af.html
文章版权归作者所有,未经允许请勿转载。
THE END