basic/variable: 修改语言表达,提高可读性

修改一些英语式的表达,适合中文的习惯。

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
pull/530/head
Kefu Chai 3 years ago
parent 3f748bbd81
commit 04f4dacb30

@ -22,15 +22,15 @@
为何不用赋值而用绑定呢(其实你也可以称之为赋值,但是绑定的含义更清晰准确)?这里就涉及 Rust 最核心的原则——**所有权**,简单来讲,任何内存对象都是有主人的,而且一般情况下完全属于它的主人,绑定就是把这个对象绑定给一个变量,让这个变量成为它的主人(聪明的读者应该能猜到,在这种情况下,该对象之前的主人就会丧失对该对象的所有权),像极了我们的现实世界,不是吗?
至于为何要采用所有权这种复杂的东东,先别急,等时机合适,我们会为你详细道来
那为什么要引进“所有权”这个新的概念呢?请稍安勿躁,时机一旦成熟,我们就回来继续讨论这个话题
## 变量可变性
Rust 的变量在默认情况下是**不可变的**。在上文提到过,这是 Rust 团队为我们精心设计的语言特性之一,这样可以让我们编写更安全、更高性能的代码。当然你可以通过 `mut` 关键字让变量变为**可变的**,以实现更加灵活的设计
Rust 的变量在默认情况下是**不可变的**。前文提到,这是 Rust 团队为我们精心设计的语言特性之一,让我们编写的代码更安全,性能也更好。当然你可以通过 `mut` 关键字让变量变为**可变的**,让设计更灵活
当变量不可变时,这意味着一旦一个值绑定到一个变量 `a` 后,就不能再更改 `a` 的值了。为了说明,在我们的工程目录下使用 `cargo new variables` 来创建一个名为 _variables_ 的新项目
如果变量 `a` 不可变,那么一旦为它绑定值,就不能再修改 `a`。举个例子,在我们的工程目录下使用 `cargo new variables` 新建一个项目,叫做 _variables_
然后在新建的 _variables_ 目录下,打开 _src/main.rs_ 并将代码替换为下面还未能通过编译的代码:
然后在新建的 _variables_ 目录下,编辑 _src/main.rs_ ,改为下面代码:
```rust
fn main() {
@ -41,7 +41,7 @@ fn main() {
}
```
保存文件,并使用 `cargo run` 运行程序,你将会收到一条错误消息,输出如下所示:
保存文件,再使用 `cargo run` 运行它,迎面而来的是一条错误提示:
```console
$ cargo run
@ -61,7 +61,7 @@ error[E0384]: cannot assign twice to immutable variable `x`
error: aborting due to previous error
```
具体的错误原因是 `cannot assign twice to immutable variable x`对不可变的变量无法进行二次再赋值),因为我们尝试给不可变的 `x` 变量赋予了第二个值。
具体的错误原因是 `cannot assign twice to immutable variable x`无法对不可变的变量进行重复赋值),因为我们想为不可变的 `x` 变量再次赋值。
这种错误是为了避免无法预期的错误发生在我们的变量上:一个变量往往被多处代码所使用,其中一部分代码假定该变量的值永远不会改变,而另外一部分代码却无情的改变了这个值,在实际开发过程中,这个错误是很难被发现的,特别是在多线程编程中。

Loading…
Cancel
Save