Rust的循环提供了三种方式:loop,while
Loop 循环
Loop 循环会反复的执行一段代码,直到退出。下面是一段代码:
fn main() {
loop {
println!("again!")
}
}
以上的例子,如果运行,直到你使用ctrl+c,不然不会停止下来。更合理的方式,就是通过加入break来告诉程序何时停止循环。
fn main() {
let mut counter =0;
let result = loop {
counter += 1; //对counter 进行加1操作
if counter == 10{ //如果counter 等于10的时候
break counter *2; //返回 counter 乘以2的值
}
};
println!("The resulat is {}.", result)
}
while条件循环
这是另外一种常见的循环模式,每一次操作循环体之前都会判断一次条件。
fn main() {
let mut number =3;
while number != 0 {
println!("{}!",number);
number = number -1;
}
println!("the number is not zero!");
}
For 循环
相比较while 和 loop循环,for 循环更加的高效。
fn main() {
let a = [10,20,30,40,50];
let mut index =0;
while index <5 {
println!("the value is:{}",a[index]);
index = index +1;
}
for element in a.iter() {
println!("the value is {}", element)
}
}
需要留意的是For 循环有时候还和Range结合一起使用,Range是由标准库提供,指定一个开始的数字和结束的数字,Range可以生成他们之间的数字,但是不包含结束。
此外rev可以反转Range,下面是一个代码的例子。
fn main() {
for number in (1..4).rev() {
println!("{}!",number);
}
println!("You are star!");
}