Rust поддерживает концепцию объекта, который представляет собой структуру, связанную с некоторыми функциями (также известными как методы).
Первый параметр любого метода (а не функции) должен быть ссылкой на сам экземпляр, связанный с вызовом этого метода (например, instanceOfObj.foo()
). Rust использует для этого параметра типы:
&self
- Не изменяемая ссылка на экземпляр.&mut self
- Изменяемая ссылка на экземпляр.Методы определяются в блоке реализации начинающемся с ключевого слова impl
:
impl MyStruct {
...
fn foo(&self) {
...
}
}