fn main() {
let mut numbers = vec![1, 2, 3, 4];
for n in &numbers { // 不可变借用
println!("{}", n);
}
numbers.push(5); // 可变借用,安全
}
4.2 结合枚举与借用
在枚举中使用借用时,确保每个变体的生命周期标注正确,避免悬空引用。
- 枚举与生命周期结合:使用枚举时,确保每个变体的生命周期标注正确,避免悬空引用。
- 模式匹配中的借用:在模式匹配中处理借用时,确保引用的有效性,避免数据竞争。
- 多态借用:枚举允许在同一类型中组合不同类型的引用,生命周期标注有助于明确各个引用的关系。