add diverge function <-> 发散函数

pull/668/head
sunface 3 years ago
parent 6b960d2dc1
commit 2a244af275

@ -63,7 +63,7 @@ fn main() {
只能说,再不起眼的东西,都有其用途,在目前为止的学习过程中,大家已经看到过很多次 `fn main()` 函数的使用吧?那么这个函数返回什么呢?
没错, `main` 函数就返回这个单元类型 `()`,你不能说 `main` 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:`发散函数`,顾名思义,无法收敛的函数。
没错, `main` 函数就返回这个单元类型 `()`,你不能说 `main` 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:`发散函数( diverge function )`,顾名思义,无法收敛的函数。
例如常见的 `println!()` 的返回值也是单元类型 `()`

@ -170,9 +170,9 @@ error[E0308]: mismatched types // 类型不匹配
还记得我们在[语句与表达式](https://course.rs/basic/base-type/statement-expression.html)中讲过的吗?只有表达式能返回值,而 `;` 结尾的是语句,在 Rust 中,一定要严格区分**表达式**和**语句**的区别,这个在其它语言中往往是被忽视的点。
##### 永不返回的函数`!`
##### 永不返回的发散函数 `!`
当用 `!` 作函数返回类型的时候,表示该函数永不返回,特别的,这种语法往往用做会导致程序崩溃的函数:
当用 `!` 作函数返回类型的时候,表示该函数永不返回( diverge function ),特别的,这种语法往往用做会导致程序崩溃的函数:
```rust
fn dead_end() -> ! {

Loading…
Cancel
Save