Rust 从入门到摔门而出门 (四) 控制流

86 阅读2分钟

Rust 从入门到摔门而出门 (三) 控制流,if判断和for循环

if表达式

Rust的if和其他语言 一致,根据条件执行不同的代码分支。

fn main(){
    let num = 3;
    if num < 10 {
        println!('小于 10');
    } else {
        println!('大于 10');
    }
}

另外注意在 Rust中 if 判断条件 必须是 布尔(Boolean), 并不会像JS等语言会进行隐式转换成布尔。

else if 处理多条件
fn main(){
    let num = 2;
    if num == 5 {
        println!('等于 5');
    } else if num == 10 {
        println!('等于 10');
    }else {
        println!('其他值')
    }
}

在声明变量中也可以使用 if

fn main(){
    let condition = true;
    let num = if condition { 100 } else { 0 };
    println!('num: {num}');
}

返回值的类型必须相同,否则会报错。

循环

Rust中的循环 loop、while 和 for。

loop

loop 会一直循环,直至手动终止或者使用 break

fn main(){
    let mut num = 0;
    loop {
        num += 1;
        if(num > 10){
            println!('num: {num}');
            break;
        }
    }
}

loop 循环也可以有返回值

fun main(){
    let mut num = 0;
    let test = loop{
        num += 1;
        if(num >5){
            break num;
        }
    }
    println!('test: {test}');
}

break 终止循环. continue 本次循环完成后续不需要执行,进行下次循环.

循环标签

在多个loop 循环嵌套时候, 使用循环标签,终止特定的循环

fun main(){
    let mut num = 0;
    'loop_test: loop{
       
        let mut remaining = 10;
        loop{
            remaining -= 1
            if(remaining < 5){
                break;
            }
            if(num > 2){
                // 终止外循环 loop_test
                break 'loop_test;
            }
        }
        num += 1;
    }
}

多个循环嵌套时候, 多个break不知是终止哪个循环, 使用'标签名: loop 定义循环, 使用 break '标签名;终止指定循环.

while 条件循环

常见的循环,条件为 true执行循环 ,为false终止循环.

fun main(){
    let mut num = 3;
    while num != 0{
        num -=1;
    }
}

for

for 循环不必多说, 各种语言中常见的了,大家用法都差不多

fun main(){
    let arr1 = [1, 2, 3, 4, 5, 6];
    for item in arr1{
        printlm!('输出: {item}')
    }
}