所有权原则
- Rust中每一个值都被一个变量所拥有,该变量被称为值的所有者
- 一个值只能同时被一个变量所拥有,或者说一个值只能有一个拥有者
- 当所有者(变量)离开作用域时,这个值将被抛弃(drop)
所有权转移
let s1 = String::from("hello");
let s2 = s1;
当 s1
赋予 s2
后,Rust 认为 s1
不再有效,因此也无需在 s1
离开作用域后 drop
任何东西,这就是把所有权从 s1
转移给了 s2
,s1
在被赋予 s2
后就马上失效了。