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