每当将值从一个位置传递到另一个位置时,borrow checker都会重新评估所有权。
  1. Immutable Borrow使用不可变的借用,值的所有权仍归发送方所有,接收方直接接收对该值的引用
而不是该值的副本。但是,他们不能使用该引用来修改它指向的值,编译器不允许这样做。释放资源的
责任仍由发送方承担。仅当发件人本身超出范围时,才会删除该值
  1. Mutable Borrow使用可变的借用所有权和删除值的责任也由发送者承担。但是接收方能够通过他们
接收的引用来修改该值。
  1. Move这是所有权从一个地点转移到另一个地点。borrow checker关于释放该值的决定将由该值的接
收者(而不是发送者)通知。由于所有权已从发送方转移到接收方,因此发送方在将引用移动到另一个
上下文后不能再使用该引用,发送方在移动后对vlaue的任何使用都会导致错误。
Article Templaterust基础学习
Loading...