Rust 循环语句
Rust 循环语句就是在指定条件为真的情况下,重复执行一组语句。
Rust 语言中有三种循环语句:
- for 语句。一种有确定次数的循环。
- while 语句。一种在某些条件为真的情况下就会永远执行下去的循环。
- loop 语句。一种重复执行且永远不会结束的循环。
三种语句都能实现循环功能,只不过侧重点不一样。
1. Rust for 循环语句
for 语句是一种能确定循环次数的循环。
for 语句用于执行代码块指定的次数。
可能和其它语言有所不同,Rust 中的 for 循环只有 for..in 这种格式,常用于迭代一组固定的值,例如数组、向量等。
1)for 循环语句的语法
for temp_variable in lower_bound..upper_bound { // action 要重复执行的代码 }
- lower_bound..upper_bound 用于指定循环区间,是一个左闭又开的区间,比如 1..3 则只有 1 和 2 不包含 3。
- temp_variable 是循环迭代的每一个元素。
- temp_variable 变量的作用域仅限于 for...in 语句,超出则会报错。
2)for 循环语句的范例
下面的代码,使用 for...in 循环,重复输出 1 到 11 之间的数字(不包括 11 )
fn main(){ for x in 1..11{ println!("x is {}",x); } }
编译运行以上 Rust 代码,输出结果如下
x is 1 x is 2 x is 3 x is 4 x is 5 x is 6 x is 7 x is 8 x is 9 x is 10
2. Rust while 循环语句
while 语句是一种只要条件为真就一直会重复执行下去的循环。
while 循环会在每次重复执行前先判断条件是否满足,满足则执行,不满足则退出。
1)while 循环语句的语法
while ( condition ) { // action 要重复执行的代码 }
condition 是一个表达式,返回的结果会转换为 布尔类型。只要 condition 返回真,那么循环就会一直执行。
2)while 循环语句的范例
下面的代码,使用 while 循环重写下上面的代码,重复输出 1 到 11 之间的数字(不包括 11 )
fn main(){ let mut x = 1; while x < 11{ println!("inside loop x value is {}",x); x+=1; } println!("outside loop x value is {}",x); }
编译运行以上 Rust 代码,输出结果如下
inside loop x value is 1 inside loop x value is 2 inside loop x value is 3 inside loop x value is 4 inside loop x value is 5 inside loop x value is 6 inside loop x value is 7 inside loop x value is 8 inside loop x value is 9 inside loop x value is 10 outside loop x value is 11
3. Rust loop 循环语句
loop 语句代表着一种死循环。它没有循环条件,也没有循环次数,它就是一个永动机。
1)loop 循环语句的语法
loop { // action 要重复执行的代码 }
2)loop 循环语句的范例
下面的语句,我们使用 loop 输出 1 到无限大的数字。
实际上是不可能的
fn main(){ let mut x = 0; loop { x+=1; println!("x={}",x); } }
编译运行以上 Rust 代码,输出结果如下
x=1 x=2 x=3 ... ... x=61^Cx=612514 x=612515 x=612516
这是一个死循环,如果不出意外是不会停下来的。需要我们手动退出程序,这时候你可以按下 CTRL + C 组合建退出程序。
注意:任何程序,如果进入死循环,你可以按下 CTRL + C 组合键退出程序。
4. 循环控制语句 break
break 语句能够在 action 语句块中退出循环语句。
1)break 语句的语法
break;
1)break 语句的范例
我们使用 break 语句改造下我们的 loop 循环,在 x 大于 11 就退出循环,也就是使用 loop 循环实现 while 循环。
fn main(){ let mut x = 0; loop { x+=1; if x > 10 { break; } println!("x={}",x); } }
编译运行以上 Rust 代码,输出结果如下
x=1 x=2 x=3 x=4 x=5 x=6 x=7 x=8 x=9 x=10
5. 循环控制语句 continue
continue 语句能够退出当前循环,就是停止执行剩下的语句,直接进入下一个循环。
1)continue 语句的语法
continue;
2)continue 语句的范例
下面的代码,我们使用 for 循环输出 1 到 11 之间的数字,但是跳过数字 5
fn main(){ for x in 1..11{ if 5 == x { continue; } println!("x is {}",x); } }
编译运行以上 Rust 代码,输出结果如下
x is 1 x is 2 x is 3 x is 4 x is 6 x is 7 x is 8 x is 9 x is 10
下一章:Rust 字符串
Rust 语言提供了两种形式的字符串:字符串字面量 &str,它是 Rust 核心内置的数据类型。字符串对象 String< /code>,它不是 Rust 核心的一部分,只是 Rust 标准库中的一个结构体。字符串字面量 &str 字符串字面量 &str 就是在编译时就知道其值的字符串类型,是 Rust 语言核心的一部分。字符串对象:字符串对象是是一个长度可变的集合。