diff --git a/src/basic/base-type/statement-expression.md b/src/basic/base-type/statement-expression.md index e5d6ce4e..569c7779 100644 --- a/src/basic/base-type/statement-expression.md +++ b/src/basic/base-type/statement-expression.md @@ -87,6 +87,21 @@ fn main() { 该语句块是表达式的原因是:它的最后一行是表达式,返回了 `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) { + + } +} +``` ## 课后练习