https://github.com/dmitry-osin/rust-lang-book
Книга по языку Rust на русском от основ до эксперта
https://github.com/dmitry-osin/rust-lang-book
beginner dyn expert lifetime rust-lang rwlock trait
Last synced: 12 days ago
JSON representation
Книга по языку Rust на русском от основ до эксперта
- Host: GitHub
- URL: https://github.com/dmitry-osin/rust-lang-book
- Owner: dmitry-osin
- License: mit
- Created: 2026-05-05T10:03:52.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-05T14:21:22.000Z (about 1 month ago)
- Last Synced: 2026-05-05T16:29:02.253Z (about 1 month ago)
- Topics: beginner, dyn, expert, lifetime, rust-lang, rwlock, trait
- Language: CSS
- Homepage:
- Size: 88.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Учебник по языку Rust
Добро пожаловать в учебник по языку программирования Rust! Этот репозиторий содержит полный курс, охватывающий все темы — от базового синтаксиса до продвинутых концепций, необходимых эксперту.
## Описание
Учебник рассчитан на широкую аудиторию:
* **Новички** — найдут пошаговое введение в язык, установку окружения, основы синтаксиса и типов данных.
* **Продвинутые разработчики** — освят обобщенное программирование (generics), трейты, многопоточность, асинхронность и работу с памятью.
* **Эксперты** — углубятся в устройство языка под капотом: систему владения и заимствования, умные указатели, макросы, FFI и интеграцию с нативным кодом.
## Содержание
Учебник состоит из 22 глав:
1. **Введение в мир Rust** — общий обзор языка, установка Rust (rustup), первая программа.
2. **Инструментарий и Качество кода** — Cargo, Rustfmt, Clippy.
3. **Азбука программирования** — переменные, типы данных, операции, условия и циклы.
4. **Функции и Замыкания** — функции, анонимные функции, трейты `Fn`, `FnMut`, `FnOnce`.
5. **Составные типы данных** — кортежи, массивы, структуры, перечисления, `Option`.
6. **Могущество сопоставления с образцом** — `match`, `if let`, `while let`.
7. **Устройство памяти** — стек и куча, контекст и область видимости.
8. **Владение и Заимствование** — правила владения, ссылки, изменяемые ссылки.
9. **Обработка ошибок** — `panic!`, `Result`, `unwrap`, `expect`, оператор `?`.
10. **Обобщенное программирование (Generics)** — обобщенные типы, функции и методы.
11. **Трейты (Traits)** — трейты как параметр и результат, ограничения, ассоциированные типы, `Debug`, `Display`, `Drop`, `Deref`.
12. **Идиомы и Паттерны проектирования** — Builder, Typestate, Newtype.
13. **Время жизни ссылок (Lifetimes)** — аннотации `'a`, lifetimes в функциях и структурах, `'static`.
14. **Модульная система** — модули, `pub`, `use`, разбиение проекта на файлы.
15. **Коллекции и Итераторы** — `Vec`, `String`, `HashMap`, `HashSet`, срезы, итераторы.
16. **Взаимодействие с ОС** — ввод с клавиатуры, файловая система.
17. **Умные указатели и Утечки памяти** — `Box`, `Rc`, `RefCell`, `Weak`, `unsafe`.
18. **Многопоточность (Concurrency)** — потоки, `Mutex`, `RwLock`, `Arc`, каналы, атомарные типы.
19. **Асинхронность (Async/Await)** — `Future`, рантаймы (Tokio), `Pin` и `Unpin`.
20. **Макросы** — декларативные и процедурные макросы.
21. **Тестирование и Документация** — юнит-тесты, интеграционные тесты, `rustdoc`.
22. **FFI: Взаимодействие с нативным кодом** — библиотеки C/C++, ассемблер, структуры памяти.
Подробное оглавление доступно в файле [`00_toc.md`](00_toc.md).
## Актуальная сборка
Актуальную сборку учебника в формате PDF можно получить на странице релизов:
👉 [https://github.com/dmitry-osin/rust-lang-book/releases](https://github.com/dmitry-osin/rust-lang-book/releases)
## Лицензия
Этот проект распространяется под лицензией **MIT**.
Автор: **Dmitry Osin**
Подробности см. в файле [LICENSE](LICENSE).