# C-表达式

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

### 基本表达式
```rust
let n = 3;
let s = "test";
```

### if表达式
```rust
fn main() {
    let var1 = 10;

    let var2 = if var1 >= 10 {
        var1
    } else {
        var1 + 10
    };
    
    println!("{}", var2);
}
```

通过`if`表达式将值赋予`var2`.

你还可以在循环中结合`continue`、`break`来使用：`
```rust
let mut v = 0;
for i in 1..10 {
    v = if i == 9 { 
        continue 
    } else { 
        i 
    }
}
println!("{}",v);
```

### if let表达式
```rust
let o = Some(3);
let v = if let Some(x) = o {
    x
} else {
    0
};
```

### match表达式
```rust
let o = Some(3);
let v = match o {
    Some(x) => x,
    _ => 0
};
```

### loop表达式
```rust
let mut n = 0;
let v = loop {
    if n == 10 {
        break n
    }
    n += 1;
};
```

### 语句块{}
```rust
let mut n = 0;
let v = {
    println!("before: {}", n);
    n += 1;
    println!("after: {}", n);
    n
};
println!("{}", v);
```