mirror of
https://github.com/rust-lang-cn/book-cn.git
synced 2025-01-23 07:20:20 +08:00
Update translation
This commit is contained in:
parent
601e289804
commit
e5ab6b7bd5
@ -2,7 +2,7 @@
|
||||
|
||||
本章涵盖了几乎每种编程语言都出现的概念,并介绍它们在 Rust 中的工作原理。许多编程语言的核心部分都有很多共同点。本章中提出的概念都不是 Rust 特有的,我们将在 Rust 的情形下讨论它们并解释它们的规定内容。
|
||||
|
||||
具体而言,您将学习到变量、基本类型、函数、注释和控制流。这些基本内容几乎在每个 Rust 程序中都会遇到,所以尽早接触这些内容,从核心知识学起。
|
||||
具体而言,你将学习到变量、基本类型、函数、注释和控制流。这些基本内容几乎在每个 Rust 程序中都会遇到,所以尽早接触这些内容,从核心知识学起。
|
||||
|
||||
> ### 关键字
|
||||
>
|
||||
|
@ -169,7 +169,7 @@ Rust 的字符类型表示的是一个 Unicode 值,这意味着它可以表示
|
||||
|
||||
当你希望将数据分配到栈(stack)而不是堆(heap)时(我们将在第 4 章中进一步讨论栈和堆),或者当你希望确保始终具有固定数量的元素时,数组特别有用。但它们不像 vector (译注:中文字面翻译为“向量”,在 Rust 中意义为“动态数组,可变数组”)类型那么灵活。vector 类型类似于标准库中提供的集合类型,其的大小允许增长或缩小。如果您不确定是使用数组还是 vector,那就应该使用一个 vector:第 8 章更详细地讨论 vector。
|
||||
|
||||
举个例子,在需要知道一年中各个月份名称的程序中,您很可能希望使用的是数组而不是 vector。这样的程序不太可能需要添加或删除月份,所以可以使用数组,因为你知道它总是包含 12 个元素:
|
||||
举个例子,在需要知道一年中各个月份名称的程序中,你很可能希望使用的是数组而不是 vector。这样的程序不太可能需要添加或删除月份,所以可以使用数组,因为你知道它总是包含 12 个元素:
|
||||
|
||||
```rust
|
||||
let months = ["January", "February", "March", "April", "May", "June", "July",
|
||||
@ -214,7 +214,7 @@ let a = [3; 5];
|
||||
{{#rustdoc_include ../listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access/src/main.rs}}
|
||||
```
|
||||
|
||||
此代码编译成功。如果使用 `cargo run` 来运行此代码并输入 0、1、2、3 或 4,则程序将打印数组对应索引的值。如果您输入的是超出数组末尾的数字,例如10,则会看到类似以下的输出:
|
||||
此代码编译成功。如果使用 `cargo run` 来运行此代码并输入 0、1、2、3 或 4,则程序将打印数组对应索引的值。如果输入的是超出数组末尾的数字,例如10,则会看到类似以下的输出:
|
||||
|
||||
<!-- manual-regeneration
|
||||
cd listings/ch03-common-programming-concepts/no-listing-15-invalid-array-access
|
||||
|
@ -1,14 +1,14 @@
|
||||
# 前言
|
||||
|
||||
虽然不是那么明显,但是 Rust 编程语言从根本上讲就是关于**赋能**的:无论您现在正在编写哪种代码,Rust 都使您能够走得更远,并可以比以前更自信地在更广泛的领域中进行编程。
|
||||
虽然不是那么明显,但是 Rust 编程语言从根本上讲就是关于**赋能**的:无论你现在正在编写哪种代码,Rust 都使你能够走得更远,并可以比以前更自信地在更广泛的领域中进行编程。
|
||||
|
||||
例如,“系统级”工作处理内存管理、数据表示和并发性的底层细节。传统上,这种编程领域被视为不可思议的事情,只有为数不多的那些已经花费了必要时间来学习避免其臭名昭著的缺陷的少数人才能涉及。即使是那些实践它的人也要谨慎行事,以免他们的代码容易受到攻击,崩溃或损坏。
|
||||
|
||||
Rust 消除了旧的陷阱,并提供了一套友好、精致的工具来帮助您解决问题,从而打破了这些障碍。那些需要“深入”到较底层控制的程序员可以使用 Rust 来做到这一点,而不必担心崩溃或安全漏洞的惯常风险,也不必学习纷繁复杂的工具链的内容。更棒的是,Rust 语言旨在引导你自然地转向在速度和内存使用方面高效且可靠的代码。
|
||||
Rust 消除了旧的陷阱,并提供了一套友好、精致的工具来帮助你解决问题,从而打破了这些障碍。那些需要“深入”到较底层控制的程序员可以使用 Rust 来做到这一点,而不必担心崩溃或安全漏洞的惯常风险,也不必学习纷繁复杂的工具链的内容。更棒的是,Rust 语言旨在引导你自然地转向在速度和内存使用方面高效且可靠的代码。
|
||||
|
||||
已经在使用底层代码的开发者可以使用 Rust 来提高自己的抱负。例如,在 Rust 中引入并行性是一个相对低风险的操作:编译器将为你捕获典型的错误。而且,你可以确信不会意外引入崩溃或漏洞,从而可以在代码中进行更积极的优化。
|
||||
|
||||
但是 Rust 不仅限于底层系统编程。它具有足够的表达力和人体工程学特性,可以使命令行应用程序、Web 服务器和许多其他类型的代码编写起来非常令人愉快——在本书后面的部分中,您将找到这前两种应用的简单示例代码。使用 Rust 来工作可让你建立从一个领域转移到另一个领域的技能;您可以通过编写网络应用程序来学习 Rust,同样地可以将这些技能应用于树莓派(Raspberry Pi,属于嵌入式方面)开发。
|
||||
但是 Rust 不仅限于底层系统编程。它具有足够的表达力和人体工程学特性,可以使命令行应用程序、Web 服务器和许多其他类型的代码编写起来非常令人愉快——在本书后面的部分中,你将找到这前两种应用的简单示例代码。使用 Rust 来工作可让你建立从一个领域转移到另一个领域的技能;你可以通过编写网络应用程序来学习 Rust,同样地可以将这些技能应用于树莓派(Raspberry Pi,属于嵌入式方面)开发。
|
||||
|
||||
本书充分体现了 Rust 增强用户编程能力的潜力。本书使用通俗易懂的表达,不仅帮助你掌握 Rust 的知识,而且还可以提高你作为开发者的影响力和信心。因此,现在就开始学习,并欢迎加入 Rust 社区!
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
- 删除了第19章中的“高级生命周期”部分,因为编译器的改进使该部分中的构造更加罕见。
|
||||
- 先前的附录 D “宏”已扩展为包含过程宏,并已移至第 19 章的“宏”部分。
|
||||
- 附录 A “关键字”还介绍了新的原始标识符功能,该功能使在 2015 版和 2018 版中编写的代码能够互操作。
|
||||
- 附录 D 现在的标题为“有用的开发工具”,涵盖了最近发布的可帮助您编写 Rust 代码的工具。
|
||||
- 附录 D 现在的标题为“有用的开发工具”,涵盖了最近发布的可帮助你编写 Rust 代码的工具。
|
||||
- 我们整本书中修复了一些小错误和措辞不准确的问题。感谢报告这些问题的读者!
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user