From 2a244af275b730cf1382f80876e6ffb3b8433632 Mon Sep 17 00:00:00 2001 From: sunface Date: Tue, 29 Mar 2022 08:42:50 +0800 Subject: [PATCH] =?UTF-8?q?add=20diverge=20function=20<->=20=E5=8F=91?= =?UTF-8?q?=E6=95=A3=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basic/base-type/char-bool.md | 2 +- src/basic/base-type/function.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/basic/base-type/char-bool.md b/src/basic/base-type/char-bool.md index ca907aa8..0f57e0ba 100644 --- a/src/basic/base-type/char-bool.md +++ b/src/basic/base-type/char-bool.md @@ -63,7 +63,7 @@ fn main() { 只能说,再不起眼的东西,都有其用途,在目前为止的学习过程中,大家已经看到过很多次 `fn main()` 函数的使用吧?那么这个函数返回什么呢? -没错, `main` 函数就返回这个单元类型 `()`,你不能说 `main` 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:`发散函数`,顾名思义,无法收敛的函数。 +没错, `main` 函数就返回这个单元类型 `()`,你不能说 `main` 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:`发散函数( diverge function )`,顾名思义,无法收敛的函数。 例如常见的 `println!()` 的返回值也是单元类型 `()`。 diff --git a/src/basic/base-type/function.md b/src/basic/base-type/function.md index 46ed3f17..99f931c1 100644 --- a/src/basic/base-type/function.md +++ b/src/basic/base-type/function.md @@ -170,9 +170,9 @@ error[E0308]: mismatched types // 类型不匹配 还记得我们在[语句与表达式](https://course.rs/basic/base-type/statement-expression.html)中讲过的吗?只有表达式能返回值,而 `;` 结尾的是语句,在 Rust 中,一定要严格区分**表达式**和**语句**的区别,这个在其它语言中往往是被忽视的点。 -##### 永不返回的函数`!` +##### 永不返回的发散函数 `!` -当用 `!` 作函数返回类型的时候,表示该函数永不返回,特别的,这种语法往往用做会导致程序崩溃的函数: +当用 `!` 作函数返回类型的时候,表示该函数永不返回( diverge function ),特别的,这种语法往往用做会导致程序崩溃的函数: ```rust fn dead_end() -> ! {