1

rust对数据流的控制大致体现在以下几点:

1、if条件判断;
2、loop/while/for循环;

1、if条件判断:
rust的条件判断逻辑与js一样,唯一不同点是标准的判断语句可以不用写在()里面,例如:

fn main() {
    let number = 6;

    if number % 4 == 0 {
        println!("numer是4的整数倍");
    } else if number % 3 == 0 {
        println!("numer是3的整数倍");
    } else if number % 2 == 0 {
        println!("numer是2的整数倍");
    } else {
        println!("number不是2或3或4的整数倍");
    }
    
    let condition = true; 
    let number = if condition { 5 } else { 6 };
    println!("number的值为: {}", number);
}
运行结果:
    number不是2或3或4的整数倍
    number的值为: 5

特别if条件为真与条件为假的时候如果是返回一个变量,那么返回的变量必须具有相同的类型

2、loop循环:

fn main() {
    let mut counter = 0;

    let result = loop {
        counter += 1;

        if counter == 10 {
            break counter * 2;
        }
    };

    println!("结果是: {}", result);
}
运行结果:
    结果是:20

3、while循环:

fn main() {
    let mut number = 3;

    while number != 0 {
        println!("{}!", number);

        number -= 1;
    }

    println!("结束!!!");
}
运行结果:
    3!
    2!
    1!
    结束!!!

4、for循环:

fn main() {

    let a = [10, 20, 30, 40, 50];

    for element in a.iter() {
         println!("遍历的值为: {}", element);
    }
    for number in (1..4).rev() {
         println!("{}!", number);
    }
    println!("结束!!!");
}

运行结果:
    遍历的值为: 10
    遍历的值为: 20
    遍历的值为: 30
    遍历的值为: 40
    遍历的值为: 50
    3!
    2!
    1!
    结束!!!

子康
10 声望0 粉丝