Update variable.md

输出结果不对,少了一行
pull/141/head
ZiJiaW 3 years ago committed by GitHub
parent b344126d19
commit 0a74c7b0d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -158,7 +158,8 @@ fn main() {
$ cargo run $ cargo run
Compiling variables v0.1.0 (file:///projects/variables) Compiling variables v0.1.0 (file:///projects/variables)
... ...
The value of x is: 12 The value of x in the inner scope is: 12
The value of x is: 6
``` ```
这和`mut`变量的使用是不同的第二个let生成了完全不同的新变量两个变量只是恰好拥有同样的名称涉及一次内存对象的再分配 这和`mut`变量的使用是不同的第二个let生成了完全不同的新变量两个变量只是恰好拥有同样的名称涉及一次内存对象的再分配
@ -174,11 +175,11 @@ let spaces = " ";
let spaces = spaces.len(); let spaces = spaces.len();
``` ```
这种结构是允许的,因为第一个 `spaces` 变量是一个字符串类型,第二个 `spaces` 变量是一个全新的变量且和第一个具有相同的变量名,且是一个数值类型。所以变量遮蔽可以帮我们节省些脑细胞,不用去想如`spaces_str` 和 `spaces_num`此类的变量名;相反我们可以重复使用更简单的 `spaces` 变量名。 你也可以不用`let`: 这种结构是允许的,因为第一个 `spaces` 变量是一个字符串类型,第二个 `spaces` 变量是一个全新的变量且和第一个具有相同的变量名,且是一个数值类型。所以变量遮蔽可以帮我们节省些脑细胞,不用去想如`spaces_str` 和 `spaces_num`此类的变量名;相反我们可以重复使用更简单的 `spaces` 变量名。 你也可以不用`let`:
```rust, ```rust,
let mut spaces = " "; let mut spaces = " ";
spaces = spaces.len(); spaces = spaces.len();
``` ```
运行一下 运行一下

Loading…
Cancel
Save