🦀 Rust совет: когда использовать &self, &mut self, self и mut self — на реальном примере
Этот сниппет отлично показывает разные модели владения при методах:
Коротко:
- &self → читаем
- &mut self → изменяем
- self → потребляем объект
- mut self → потребляем + модифицируем и возвращаем (удобно для fluent API)
Понимание этих четырёх форм - ключ к грамотной архитектуре в Rust.
#rust #tip #junior
@rust_code
Этот сниппет отлично показывает разные модели владения при методах:
// читает, не меняя
fn len(&self) -> usize { … }
// изменяет объект на месте
fn push(&mut self, b: u8) { … }
// забирает владение — после вызова исходный объект больше недоступен
fn into_vec(self) -> Vec<u8> { … }
// builder-стиль: забирает владение, внутри mut, возвращает обновлённый объект
fn with_extra(mut self, extra: Vec<u8>) -> Self { … }
Коротко:
- &self → читаем
- &mut self → изменяем
- self → потребляем объект
- mut self → потребляем + модифицируем и возвращаем (удобно для fluent API)
Понимание этих четырёх форм - ключ к грамотной архитектуре в Rust.
#rust #tip #junior
@rust_code
❤35👍27🔥8🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡ Rust на устройстве с 2KB RAM
Rust уже давно вышел за рамки системного софта и серверного кода — теперь его запускают на микроконтроллерах с крошечными ресурсами.
Пример
- Микроконтроллер: WinChipHead CH32V003
- Память: 2 KB RAM
- Flash: 16 KB
- Да, Rust работает в таких условиях — без операционной системы и с прямым доступом к железу
Почему это круто
- Безопасность памяти даже на микроконтроллерах
- Возможность писать прошивки без C и undefined behavior
- Rust становится реальной альтернативой для embedded-разработки
Минимальная программа, аппаратные регистры, direct control — и всё это на Rust.
Подробности:
https://noxim.xyz/blog/rust-ch32v003/
#rust #embedded #iot #systemsprogramming #microcontrollers #firmware #riscv
Rust уже давно вышел за рамки системного софта и серверного кода — теперь его запускают на микроконтроллерах с крошечными ресурсами.
Пример
- Микроконтроллер: WinChipHead CH32V003
- Память: 2 KB RAM
- Flash: 16 KB
- Да, Rust работает в таких условиях — без операционной системы и с прямым доступом к железу
Почему это круто
- Безопасность памяти даже на микроконтроллерах
- Возможность писать прошивки без C и undefined behavior
- Rust становится реальной альтернативой для embedded-разработки
Минимальная программа, аппаратные регистры, direct control — и всё это на Rust.
Подробности:
https://noxim.xyz/blog/rust-ch32v003/
#rust #embedded #iot #systemsprogramming #microcontrollers #firmware #riscv
👍62🏆13❤6🤣3🖕2😱1