增加无返回值表达式的说明

pull/823/head
sunface 3 years ago
parent b464c3209d
commit bcdf7bb25e

@ -87,6 +87,21 @@ fn main() {
该语句块是表达式的原因是:它的最后一行是表达式,返回了 `x + 1` 的值,注意 `x + 1` 不能以分号结尾,否则就会从表达式变成语句, **表达式不能包含分号**。这一点非常重要,一旦你在表达式后加上分号,它就会变成一条语句,再也**不会**返回一个值,请牢记! 该语句块是表达式的原因是:它的最后一行是表达式,返回了 `x + 1` 的值,注意 `x + 1` 不能以分号结尾,否则就会从表达式变成语句, **表达式不能包含分号**。这一点非常重要,一旦你在表达式后加上分号,它就会变成一条语句,再也**不会**返回一个值,请牢记!
最后,表达式如果不返回任何值,会隐式地返回一个 [`()`](https://course.rs/basic/base-type/char-bool.html#单元类型) 。
```rust
fn main() {
assert_eq!(ret_unit_type(), ())
}
fn ret_unit_type() {
let x = 1;
// if 语句块也是一个表达式,因此可以用于赋值,也可以直接返回
if (x > 1) {
}
}
```
## 课后练习 ## 课后练习

Loading…
Cancel
Save