Rust学习笔记-01
Rust语言特征比较接近与c语言,与Java相差较大。
Rust 注重安全和速度。
Rust是一个“基于表达式”的语言,它意味着Rust中几乎所有的东西都是一个表达式并返回一个值。
Rust 中有两种类型的语句:“声明语句”和“表达式语句”。其余的一切是表达式。
let 语句的左侧远比一个赋值绑定强大。例如,可以用let语句来给变量重新赋值,也可以用来解构/拆开元组(triple)。
Rust所追求最大的目标 – 内存安全,关键在于所有权。
Rust 注重安全和速度。它通过很多零开销抽象(zero-cost abstractions)来实现这些目标,也就是说在 Rust 中,实现抽象的开销尽可能的小。所有权系统是一个典型的零开销抽象的例子。本文提到所有的分析(是否大部分???)都是在编译时完成的。你不需要在运行时为这些功能付出任何开销。
Rust 中的借用有一些规则:
第一,任何借用必须位于比拥有者更小的作用域。
第二,你可以有一个或另一个这两种类型的借用,不过不能同时拥有它们(这两种):
- 0 个或 N 个资源的引用(&T)
只有 1 个可变引用((&mut T)
通过引用,你可以拥有你想拥有的任意多的引用,因为它们没有一个在写。如果你在写,并且你需要2个或更多相同内存的指针,则你只能一次拥有一个 &mut 。这就是Rust如何在编译时避免数据竞争:如果打破规则的话ÿ