Rust 控制流

302 阅读1分钟

以下代码简单介绍了 Rust 控制流

// 控制流

fn main() {
    let y = 2;
    
    // if
    if y == 1 {
        println!("y = 1");
    }

    println!("--------------------");

    // if - else
    if y == 1 {
        println!("y = 1");
    } else {
        println!("y != 1");
    }

    println!("--------------------");

    // if - else if - else
    if y == 1 {
        println!("y = 1");
    } else if y == 0 {
        println!("y = 0");
    } else if y == 2 {
        println!("y = 2");
    } else {
        println!("other");
    }

    println!("--------------------");

    // 在 let 中使用 if
    let condition = true;
    // 两个分支中的数据必须是同样的类型,否则会报错
    let x = if condition {
        5
    } else {
        6
        // "six"    // error
    };
    println!("x = {}", x);

    println!("--------------------");

    // loop
    let mut counter = 0;
    loop {
        println!("in loop");
        if counter == 10 {
            break;
        }
        counter += 1;
    }

    let result = loop {
        counter += 1;
        if counter == 20 {
            break counter * 2;
        }
    };
    println!("result = {}", result);

    println!("--------------------");
    
    // while
    let mut i = 0;
    while i != 10 {
        i += 1;
    }
    println!("i = {}", i);

    println!("--------------------");

    // for
    let arr:[u32; 5] = [1,2,3,4,5];
    // for element in arr.iter() {
    for element in &arr {
        println!("element = {}", element);
    }
}

输入 cargo r,输出如下:

--------------------
y != 1
--------------------
y = 2
--------------------
x = 5
--------------------
in loop
in loop
in loop
in loop
in loop
in loop
in loop
in loop
in loop
in loop
in loop
result = 40
--------------------
i = 10
--------------------
element = 1
element = 2
element = 3
element = 4
element = 5