What's the difference between self and Self in Rust?
What's the difference between self and Self in Rust?
In Rust, self
and Self
serve different purposes and are used in different contexts within the language.
self
self
is used as the first parameter in method definitions to refer to the instance of the struct or enum on which the method is being called. It is analogous to this
in other object-oriented languages like JavaScript or Python.self
can take different forms to indicate ownership and borrowing:
self
: Takes ownership of the instance.&self
: Borrows the instance immutably.&mut self
: Borrows the instance mutably.struct MyType;
impl MyType {
fn consume(self) {
// Takes ownership of the instance
}
fn borrow(&self) {
// Borrows the instance immutably
}
fn borrow_mut(&mut self) {
// Borrows the instance mutably
}
}
Self
Self
is a type alias for the type that is currently being implemented. It is used within impl
blocks and trait definitions to refer to the type for which the methods...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào