附录 C:表达式

语句与表达式章节中,我们对表达式有过介绍,下面对这些常用表达式进行一一说明。

基本表达式

#![allow(unused)]
fn main() {
let n = 3;
let s = "test";
}

if 表达式

fn main() {
    let var1 = 10;

    let var2 = if var1 >= 10 {
        var1
    } else {
        var1 + 10
    };

    println!("{}", var2);
}

通过 if 表达式将值赋予 var2

你还可以在循环中结合 continuebreak 来使用:

#![allow(unused)]
fn main() {
let mut v = 0;
for i in 1..10 {
    v = if i == 9 {
        continue
    } else {
        i
    }
}
println!("{}", v);
}

if let 表达式

#![allow(unused)]
fn main() {
let o = Some(3);
let v = if let Some(x) = o {
    x
} else {
    0
};
}

match 表达式

#![allow(unused)]
fn main() {
let o = Some(3);
let v = match o {
    Some(x) => x,
    _ => 0
};
}

loop 表达式

#![allow(unused)]
fn main() {
let mut n = 0;
let v = loop {
    if n == 10 {
        break n
    }
    n += 1;
};
}

语句块

#![allow(unused)]
fn main() {
let mut n = 0;
let v = {
    println!("before: {}", n);
    n += 1;
    println!("after: {}", n);
    n
};
println!("{}", v);
}