Merge pull request #527 from 863056768/patch-2

ClosureScript > ClojureScript
pull/529/head
Sunface 3 years ago committed by GitHub
commit 1e01c284c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,7 +4,7 @@
## 为何要手动设置变量的可变性?
在其它大多数语言中变量一旦创建要么是可变的要么是不可变的ClosureScript前者为编程提供了灵活性后者为编程提供了安全性而 Rust 比较野,选择了两者我都要,既要灵活性又要安全性。
在其它大多数语言中变量一旦创建要么是可变的要么是不可变的ClojureScript前者为编程提供了灵活性后者为编程提供了安全性而 Rust 比较野,选择了两者我都要,既要灵活性又要安全性。
能想要学习 Rust说明我们的读者都是相当有水平的程序员了你们应该能理解**一切选择皆是权衡**,那么两者都要的权衡是什么呢?这就是 Rust 开发团队为我们做出的贡献,两者都要意味着 Rust 语言底层代码的实现复杂度大幅提升,因此 Respect to The Rust Team!
@ -67,7 +67,7 @@ error: aborting due to previous error
这种规则让我们的代码变得非常清晰,只有你想让你的变量改变时,它才能改变,这样就不会造成心智上的负担,也给别人阅读代码带来便利。
但是可变性也非常重要,否则我们就要像 ClosureScript 那样,每次要改变,就要重新生成一个对象,在拥有大量对象的场景,性能会变得非常低下,内存拷贝的成本异常的高。
但是可变性也非常重要,否则我们就要像 ClojureScript 那样,每次要改变,就要重新生成一个对象,在拥有大量对象的场景,性能会变得非常低下,内存拷贝的成本异常的高。
在 Rust 中,可变性很简单,只要在变量名前加一个 `mut` 即可, 而且这种显式的声明方式还会给后来人传达这样的信息:嗯,这个变量在后面代码部分会发生改变。

Loading…
Cancel
Save