Программирование на Rust [1 ed.] 5446116569, 9785446116560

Официальный гид по языку программирования Rust от команды разработчиков Rust из Mozilla Foundation. Добро пожаловать в м

222 97 3MB

Russian Pages 592 Year 2021

Report DMCA / Copyright

DOWNLOAD EPUB FILE

Table of contents :
Язык программирования Rust
Предисловие
Введение
1. С чего начать

1.1. Установка
1.2. Привет, мир!
1.3. Hello, Cargo!

2. Программирование игры в загадки
3. Общие концепции программирования

3.1. Переменные и изменяемость
3.2. Типы данных
3.3. Функции
3.4. Комментарии
3.5. Управляющие конструкции

4. Понимание владения

4.1. Что такое владение?
4.2. Ссылки и заимствование
4.3. Тип среза

5. Использование структур для объединения связанных данных

5.1. Определение и создание экземпляров структур
5.2. Пример программы, использующей структуры
5.3. Синтаксис метода

6. Перечисления и сопоставление с образцом

6.1. Определение перечисления
6.2. Конструкция потока управления match
6.3. Лаконичный поток управления с if let

7. Управление растущими проектами с помощью пакетов, крейтов и модулей

7.1. Пакеты и крейты
7.2. Определение модулей для управления областью действия и конфиденциальностью
7.3. Пути для ссылки на элемент в дереве модулей
7.4. Введение путей в область видимости с помощью ключевого слова use
7.5. Разделение модулей на разные файлы

8. Общие коллекции

8.1. Хранение списков значений с векторами
8.2. Хранение закодированного текста UTF-8 со строками
8.3. Хранение ключей со связанными значениями в HashMap

9. Обработка ошибок

9.1. Неустранимые ошибки с panic!
9.2. Устранимые ошибки с Result
9.3. panic! или не panic!

10. Общие типы, трейты (характеристики) и время жизни

10.1. Обобщённые типы данных
10.2. Трейты (характеристики): определение разделяемого поведения
10.3. Проверка ссылок с временем жизни

11. Написание автоматических тестов

11.1. Как писать тесты
11.2. Управление выполнением тестов
11.3. Организация испытаний

12. Проект с вводом-выводом: создание программы командной строки

12.1. Получение аргументов командной строки
12.2. Чтение файла
12.3. Рефакторинг для обеспечения модульности и улучшения обработки ошибок
12.4. Разработка функциональности библиотеки с помощью разработки через тестирование
12.5. Работа с переменными среды
12.6. Запись сообщений об ошибках в stderr вместо stdout

13. Функциональные возможности языка: итераторы и замыкания

13.1. Замыкания: анонимные функции, которые захватывают своё окружение
13.2. Обработка последовательности элементов с помощью итераторов
13.3. Улучшение нашего проекта с вводом/выводом
13.4. Сравнение производительности: циклы и итераторы

14. Подробнее о Cargo и Crates.io

14.1. Настройка билдов с помощью профилей выпуска
14.2. Публикация крейта на Crates.io
14.3. Рабочие области Cargo
14.4. Установка бинарных файлов с Crates.io с помощью cargo install
14.5. Расширение возможностей Cargo путём добавления пользовательских команд

15. Умные указатели

15.1. Использование Box для указания на данные в куче
15.2. Работа с умными указателями как с обычными ссылками с помощью трейта Deref
15.3. Выполнение кода при очистке с помощью трейта Drop
15.4. Rc, умный указатель с подсчётом ссылок
15.5. RefCell и внутренняя изменяемость
15.6. Ссылочные циклы могут привести к утечке памяти

16. Безбоязненный параллелизм

16.1. Использование потоков для параллельного выполнения кода
16.2. Пересылка сообщений для передачи данных между потоками
16.3. Параллелизм с общим состоянием
16.4. Расширяемый параллелизм с помощью трейтов Sync и Send

17. Возможности объектно-ориентированного программирования Rust

17.1. Характеристики объектно-ориентированных языков
17.2. Использование трейт-объектов, допускающих значения разных типов
17.3. Реализация шаблона объектно-ориентированного проектирования

18. Шаблоны и сопоставление

18.1. Все места, где могут использоваться шаблоны
18.2. Опровержимость: может ли шаблон не соответствовать
18.3. Синтаксис шаблона

19. Расширенные возможности

19.1. Небезопасный код в Rust
19.2. Продвинутые типажи
19.3. Продвинутые типы
19.4. Продвинутые функции и замыкания
19.5. Макросы

20. Финальный проект: создание многопоточного веб-сервера

20.1. Создание однопоточного веб-сервера
20.2. Превращение нашего однопоточного сервера в многопоточный сервер
20.3. Мягкое завершение работы и очистка

21. Приложения

21.1. А — Ключевые слова
21.2. B — Операторы и символы
21.3. C — Выводимые трейты
21.4. D — Полезные инструменты разработки
21.5. E — Редакции
21.6. F — Переводы книги
21.7. G — Как создаётся Rust и «Nightly Rust»

Программирование на Rust [1 ed.]
 5446116569, 9785446116560

  • Commentary
  • NOTE 1: file nav.xhtml has broken syntax; NOTE 2: HTML version https://doc.rust-lang.ru/book
  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up