[rust]控制流

55 阅读1分钟
fn main() {
    // if elseif else
    let x = 1;
    if x == 0 {
        println!("x=0")
    } else if x == 1 {
        println!("x=1")
    } else {
        println!("x=other")
    }

    // if else 做三目运算符使用
    let condition = true;
    let y: i32 = if condition { x + 1 } else { x + 2 };
    println!("y={}", y);


    let mut counter = 1;
    // loop 循环
    loop {
        if counter > 3 {
            break;
        }
        println!("count:{}", counter);
        counter += 1;
    }

    // loop 也可以有返回值
    let z = loop {
        if counter > 3 {
            break counter;
        }
        counter += 1;
    };
    println!("z={}", z);

    // while 循环
    while counter == 4 {
        println!("while循环");
        counter += 1;
    };

    let arr: [i32; 3] = [1, 2, 3];
    for i in arr {
        println!("for循环={}", i);
    }
}

小结:

  1. if{} else{} 或者 if{} else if{} else{} 条件表达式可以有返回值
  2. loop 循环表达式可以有返回值