← 学习中心

所有权三大规则

建立 Ownership 直觉:拥有者、作用域与 Drop

本节你将能

用自己的话复述 所有权 三条规则,并判断简单 移动 场景。

直觉模型

把每个值想成「只能有一把钥匙的保险柜」:谁拿钥匙谁负责最后关门(Drop)。转交钥匙后,原持有者不能再开。

核心要点

  • 每个值有一个所有者
  • 同一时刻只能有一个所有者
  • 所有者离开作用域时,值被丢弃(Drop)
let s1 = String::from("hi");
let s2 = s1; // s1 被移动,此后不可用
println!("{s2}");

常见误区

用 Java/Python 的「都是引用」直觉硬套——堆上数据默认 move,不是隐式共享。

动手

写 move 后再用旧变量,读报错;再对 i32 做同样操作,解释为何 Copy 类型不同。

互动

测验:哪些赋值会失效原绑定。

本节小结

下一节讲如何「借钥匙」而不转交——借用与引用。

所有权三大规则 - 生命科学与前沿科技学习平台 | 必学必会