From c062a4cb35c9ce854b50659fdd5a739ba5675b6e Mon Sep 17 00:00:00 2001 From: Yishai Song <46991254+Direct-A@users.noreply.github.com> Date: Sun, 27 Feb 2022 22:12:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20basic/compound-type/intro?= =?UTF-8?q?=20=E4=B8=AD=20=E7=BC=96=E8=AF=91=E5=99=A8=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=20=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contents/basic/compound-type/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/basic/compound-type/intro.md b/contents/basic/compound-type/intro.md index eeec7558..6e184262 100644 --- a/contents/basic/compound-type/intro.md +++ b/contents/basic/compound-type/intro.md @@ -29,7 +29,7 @@ fn main() { } ``` -接下来我们的学习非常类似原型设计:有的方法只提供 API 接口,但是不提供具体实现。此外,有的变量在声明之后并未使用,因此在这个阶段我们需要排除一些编译器噪音(Rust 在编译的时候会扫描代码,变量声明后未使用会以 `warning` 警告的形式进行提示),引入 `#![allow(unused_variables)]` 属性标记,该标记会告诉编译器忽略未使用的变量,不要抛出 `warning` 警告,具体的常见编译器属性你可以在这里查阅:[编译器属性标记](../../compiler/attributes.md). +接下来我们的学习非常类似原型设计:有的方法只提供 API 接口,但是不提供具体实现。此外,有的变量在声明之后并未使用,因此在这个阶段我们需要排除一些编译器噪音(Rust 在编译的时候会扫描代码,变量声明后未使用会以 `warning` 警告的形式进行提示),引入 `#![allow(unused_variables)]` 属性标记,该标记会告诉编译器忽略未使用的变量,不要抛出 `warning` 警告,具体的常见编译器属性你可以在这里查阅:[编译器属性标记](../../profiling/compiler/attributes.md). `read` 函数也非常有趣,它返回一个 `!` 类型,这个表明该函数是一个发散函数,不会返回任何值,包括 `()`。`unimplemented!()` 告诉编译器该函数尚未实现,`unimplemented!()` 标记通常意味着我们期望快速完成主要代码,回头再通过搜索这些标记来完成次要代码,类似的标记还有 `todo!()`,当代码执行到这种未实现的地方时,程序会直接报错。你可以反注释 `read(&mut f1, &mut vec![]);` 这行,然后再观察下结果。