loop 逻辑门如何使用for_Rust流控制 -if, loop, while , for

48222036bedd272986e64f7661985898.png

流控制是所有程序语言的共性,有点语言基础一看就懂。我不说,上代码:

/// 控制执行流的结构是 if 表达式 和循环。
/// Rust 有三种循环: loop 、 while 和 for

#[test]
fn control_if() {
    let number = true; //3 如果改成数字,将出错
                       //Rust 并不会尝试自动地将非布尔值转换为布尔值。
                       //必须总是显式地使用布尔值作为 if 的条件
    if number {
        println!("number was three");
    }
}


/// 如果有很多else if 就换match 比较简洁吧
/// 
#[test]
fn control_elseif() {
    let number = 6;
    if number % 4 == 0 {
        println!("number is divisible by 4");
    } else if number % 3 == 0 {
        println!("number is divisible by 3");
    } else if number % 2 == 0 {
        println!("number is divisible by 2");
    } else {
        println!("number is not divisible by 4, 3, or 2");
    }
}


///在 let 语句中使用 if
/// 训练:
/// 将下代码中的6 换成字串,如"six" 试试,编译不通过
/// 将下面的 5 换成 panic!("error")  能通过,想想为什么
/// 
#[test]
fn control_letif() {
    let condition = true;
    let number = if condition { 5 } else { 6 };
    println!("control_letif - The value of number is: {}", number);
}



#[test]
pub fn control_loop() {
    let mut counter = 0;
    let result = loop {
        counter += 1;
        if counter == 10 {
            break counter * 2;
        }
    };
    println!("The result is {}", result);
}



#[test]
fn control_while() {
    let mut number = 3;
    while number != 0 {
        println!("{}!", number);
        number -= 1;
    }
    println!("BOMB!!!");
}


#[test]
fn control_for() {
    let a = [10, 20, 30, 40, 50, 60]; // _代表不指定数组长度,自己猜去
    for element in a.iter() {
        println!("the value is: {}", element);
    }

    //再来一粟子: x..y 代表 [x,y)    x..=y 代表 [x,y]
    for number in (1..4).rev() {
        //rev()是颠倒的意思,试试在4前面加=号
        println!("{}!", number);
    }
    println!("BOMB!!!");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值