所有权系统(Ownership System)是Rust语言最基本最独特也是最重要的特性之一。
Rust追求的目标是内存安全与运行效率,但是它却没有golang, java, python等语言的内存垃圾回收机制GC。
Rust语言号称,只要编译通过就不会崩溃(内存安全);拥有着零或者极小的运行时开销(运行效率)。这些优点也都得益于Rust的所有权系统。
所有权系统,包括三个重要的组成部分:
- Ownership(所有权)
- Borrowing(借用)
- Lifetimes(生命周期)
这三个特性之间相互关联,后面章节会依次全面讲解。
提示: Rust的所有权系统对很多初学者来说,可能会觉得难以理解,Rust的内存检查是在编译阶段完成,这个检查是非常严谨的,所以初学者在编译代码的时候,刚开始可能很难一次编译通过。
不过不要害怕:),当你一旦了解熟悉它后你会喜欢上它,并且在日后的编程中受益颇多。所有权系统需要读者慢慢体会其中的奥秘,学习过程中也可以参考官方文档。