Rust中的loop循环
示例程序:
use std::io;
use std::cmp::Ordering;
fn main() {
loop {
let mut s = String::new();
io::stdin().read_line(&mut s).unwrap();
let num : i32 = s.trim().parse().unwrap();
match num.cmp(&23) {
Ordering::Less => println!("smaller"),
Ordering::Greater => println!("bigger"),
Ordering::Equal => {
println!("ok!");
break;
}
}
}
}
上述程序的功能是:
循环读入整数(每次读入一行字符串并解析成数值)num,并判断num的值,
- 若
num < 23
,输出 “smaller” 并继续读入; - 若
num > 23
,输出 “bigger” 并继续读入; - 若
num == 23
,输出 “ok!” 并退出循环(使用 break)。
loop 关键字会创建一个无限循环,但是 break 可以跳出循环。