点击此处浏览总目录

循环

while循环

fn main() {
    let mut number = 1;
    while number != 4 {
        println!("{}", number);
        number += 1;
    }
}

注意:目前Rust还没有do-while的用法, 但是do被规定为保留字, 也许以后的版本中会用到

在C语言中for循环使用三元语句控制循环, 但是 Rust 中没有这种用法,需要用 while 循环来代替

//C语言
int i;
for (i = 0; i < 10; i++) {
    // 循环体
}

//Rust
let mut i = 0;
while i < 10 {
    // 循环体
    i += 1;
}

 

for循环

  for循环是最常用的循环结构常, 用来遍历一个线性数据据结构, 比如数组

fn main() {
    let a = [10, 20, 30, 40, 50];
    for i in a.iter() {  //通过迭代器进行循环, a.iter()代表a的迭代器
        println!("值为 : {}", i);
    }
    
    let b = [10, 20, 30, 40, 50];
    for i in 0..5 {  
        println!("b[{}] = {}", i, b[i]);  // for循环其实是可以通过下标来访问数组的:
    }
}

 

loop 循环

  某个循环无法在开头和结尾判断是否继续进行循环,必须在循环体中间某处控制循环的进行
  如果遇到这种情况,经常会在一个 while(true)循环体里实现中途退出循环的操作
  Rust语言有原生的无限循环结构 —— loop

fn main() {
    let s = ['R', 'U', 'N', 'O', 'O', 'B'];
    let mut i = 0;
    loop {
        let ch = s[i];
        if ch == 'O' {
            break;
        }
        println!("\'{}\'", ch);
        i += 1;
    }
}

//运行结果:
//'R' 
//'U' 
//'N' 

 

  break

    在loop 循环中,break可以像return一样使整个循环退出,同时返回外部一个返回值
    loop这样的循环常被用来当作查找工具使用, 如果找到了某个东西当然要将这个结果交出去

fn main() {
    let s = ['R', 'U', 'N', 'O', 'O', 'B'];
    let mut i = 0;
    let location = loop {
        let ch = s[i];
        if ch == 'O' {
            break i;
        }
        i += 1;
    };
    println!(" \'O\' 的索引为 {}", location);
}

//运行结果:
// 'O' 的索引为 3

 

posted @ 2020-07-31 18:38  立业的博客  阅读(155)  评论(0编辑  收藏  举报