@ -119,7 +119,7 @@ Rust 的 `char` 类型是语言中最原生的字母类型。下面是一些声
{{#rustdoc_include ../listings/ch03-common-programming-concepts/no-listing-09-char/src/main.rs}}
{{#rustdoc_include ../listings/ch03-common-programming-concepts/no-listing-09-char/src/main.rs}}
```
```
注意,我们用单引号声明 `char` 字面量, 而与之相反的是, 使用双引号声明字符串字面量。Rust 的 `char` 类型的大小为四个字节 (four bytes),并代表了一个 Unicode 标量值( Unicode Scalar Value) , 这意味着它可以比 ASCII 表示更多内容。在 Rust 中, 带变音符号的字母( Accented letters) , 中文、日文、韩文等字符, emoji( 绘文字) 以及零长度的空白字符都是有效的 `char` 值。Unicode 标量值包含从 `U+0000` 到 `U+D7FF` 和 `U+E000` 到 `U+10FFFF` 在内的值。不过,“字符” 并不是一个 Unicode 中的概念,所以人直觉上的 “字符” 可能与 Rust 中的 `char` 并不符合。第八章的 [“使用字符串存 储 UTF-8 编码的文本”][strings] 中将详细讨论这个主题。
注意,我们用单引号声明 `char` 字面量, 而与之相反的是, 使用双引号声明字符串字面量。Rust 的 `char` 类型的大小为四个字节 (four bytes),并代表了一个 Unicode 标量值( Unicode Scalar Value) , 这意味着它可以比 ASCII 表示更多内容。在 Rust 中, 带变音符号的字母( Accented letters) , 中文、日文、韩文等字符, emoji( 绘文字) 以及零长度的空白字符都是有效的 `char` 值。Unicode 标量值包含从 `U+0000` 到 `U+D7FF` 和 `U+E000` 到 `U+10FFFF` 在内的值。不过,“字符” 并不是一个 Unicode 中的概念,所以人直觉上的 “字符” 可能与 Rust 中的 `char` 并不符合。第八章的 [“使用字符串储存 UTF-8 编码的文本”][strings] 中将详细讨论这个主题。
### 复合类型
### 复合类型
@ -230,11 +230,11 @@ note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
这是第一个在实战中遇到的 Rust 安全原则的例子。在很多底层语言中, 并没有进行这类检查, 这样当提供了一个不正确的索引时, 就会访问无效的内存。通过立即退出而不是允许内存访问并继续执行, Rust 让你避开此类错误。第九章会更详细地讨论 Rust 的错误处理机制,以及如何编写可读性强而又安全的代码,使程序既不会 panic 也不会导致非法内存访问。
这是第一个在实战中遇到的 Rust 安全原则的例子。在很多底层语言中, 并没有进行这类检查, 这样当提供了一个不正确的索引时, 就会访问无效的内存。通过立即退出而不是允许内存访问并继续执行, Rust 让你避开此类错误。第九章会更详细地讨论 Rust 的错误处理机制,以及如何编写可读性强而又安全的代码,使程序既不会 panic 也不会导致非法内存访问。
[comparing-the-guess-to-the-secret-number]:
[comparing-the-guess-to-the-secret-number]:
ch02-00-guessing-game-tutorial.html#comparing-the-guess-to-the-secret-number
ch02-00-guessing-game-tutorial.html#比较猜测的数字和秘密数字
[twos-complement]: https://en.wikipedia.org/wiki/Two%27s_complement
[twos-complement]: https://en.wikipedia.org/wiki/Two%27s_complement
[control-flow]: ch03-05-control-flow.html#控制流
[control-flow]: ch03-05-control-flow.html#控制流
[strings]: ch08-02-strings.html#使用字符串存 储-utf-8-编码的文本
[strings]: ch08-02-strings.html#使用字符串储存 -utf-8-编码的文本
[stack-and-heap]: ch04-01-what-is-ownership.html#the-stack-and-the- heap
[stack-and-heap]: ch04-01-what-is-ownership.html#栈stack与堆 heap
[vectors]: ch08-01-vectors.html
[vectors]: ch08-01-vectors.html
[unrecoverable-errors-with-panic]: ch09-01-unrecoverable-errors-with-panic.html
[unrecoverable-errors-with-panic]: ch09-01-unrecoverable-errors-with-panic.html
[wrapping]: https://doc.rust-lang.org/std/num/struct.Wrapping.html
[wrapping]: https://doc.rust-lang.org/std/num/struct.Wrapping.html