Rust - 为什么我们在从 A self 调用 A::func(&self) 时不需要借用 A
Rust - Why we don't need borrow A when calling A::func(&self) from A self
查看代码:
struct A {}
impl A {
fn a(&self) {}
}
pub fn main() {
let a = A {};
a.a();
A::a(&a);
}
为什么 a.a()
不需要 &
而 A::a(&a)
需要?有什么区别?
在 Rust 中,a.a()
是 A::a(&a)
的语法糖,所以 a
确实在两个调用中都被借用了。点运算符还有很多作用,您可以阅读 here.
查看代码:
struct A {}
impl A {
fn a(&self) {}
}
pub fn main() {
let a = A {};
a.a();
A::a(&a);
}
为什么 a.a()
不需要 &
而 A::a(&a)
需要?有什么区别?
在 Rust 中,a.a()
是 A::a(&a)
的语法糖,所以 a
确实在两个调用中都被借用了。点运算符还有很多作用,您可以阅读 here.