Rust劝退指南-主要难点
2024-04-20
Cikayo
一、引用和借用
二、所有权规则
可变引用和不可变引用
三、生命周期
生命周期的主要目的是防止悬空引用,悬空引用会导致程序引用其打算引用的数据之外的数据。
省略规则:
- 第一条规则是:编译器为每个引用参数分配一个生命周期参数
- 第二条规则是:如果只有一个输入生命周期参数,则该生命周期将分配给所有输出生命周期参数
- 第三条规则是:如果有多个输入生命周期参数,但其中一个是
&self
或&mut self
,因为这是一个方法,则self
的生命周期将分配给所有输出生命周期参数。
四、泛型
泛型类型
生命周期
生命周期省略规则
- 每一个是引用的参数都有它自己的生命周期参数
- 如果只有一个输入生命周期参数,那么它被赋给所有输出生命周期参数
- 如果方法有多个输入生命周期参数,不过其中之一因为方法的缘故为 &self 或 &mut self ,那么 self 的生命周期被赋给所有输出生命周期参数