Skip to content

dmitry-osin/rust-lang-book

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Учебник по языку 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.

Актуальная сборка

Актуальную сборку учебника в формате PDF можно получить на странице релизов:

👉 https://github.com/dmitry-osin/rust-lang-book/releases

Лицензия

Этот проект распространяется под лицензией MIT.

Автор: Dmitry Osin

Подробности см. в файле LICENSE.

About

Книга по языку Rust на русском от основ до эксперта

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages