Тур по Rust
Занятия
Привет,
Глава 1 - Основы
The Rust Playground
Переменные (Variables)
Изменение переменных
Базовые типы (Basic Types)
Преобразование базовых типов (Type Conversion)
Константы (Constants)
Массивы (Arrays)
Функции (Functions)
Возврат нескольких значений (Tuple)
Возврат пустого значения (Nothing)
Раздел 1 - Заключение
Глава 2 - Управление потоком исполнения
if/else if/else
loop
while
for
match
Возвращение значений из loop
Возвращение значений из выражений блоков
Глава 2. Заключение
Глава 3 - Базовые структуры данных
Структуры (Structures)
Вызов методов
Память (Memory)
Создание структур в памяти
Кортежи-структуры (Tuple-like Structs)
Юнит-структуры (Unit-like Structs)
Перечисления (Enumerations)
Перечисления с данными
Глава 3 - Заключение
Глава 4 - Обобщённые типы
Что такое обобщённые типы (Generic Types)?
Представление отсутствия значения (Representing Nothing)
Тип Option
Тип Result
Возврат результата в Main
Элегантная обработка ошибок
Грязная обработка Option/Result
Векторы
Глава 4 - Заключение
Глава 5 - Владение и Заимствование данными (Ownership & Borrowing)
Владение (Ownership)
Управление ресурсами на основе области видимости
Иерархическое удаление (Dropping is Hierarchical)
Передача владения (Moving Ownership)
Возвращение владения (Returning Ownership)
Заимствование во владение с помощью ссылок
Заимствование во владение с правами на изменение (Mutable Borrow)
Разыменование (Dereferencing)
Передача заимствованных данных
Ссылки на ссылки (References Of References)
Явное указание времени жизни (Explicit Lifetimes)
Несколько времён жизни (Multiple Lifetimes)
Статические времена жизни (Static Lifetimes)
Времена жизни у типов данных (Lifetimes In Data Types)
Глава 5 - Заключение
Глава 6 - Текст
Тип строковые литералы (String Literals)
Что такое utf-8
Экранирующие символы (Escaping Characters)
Многострочные строковые литералы (Multi-line)
Сырые (необработанные) строковые литералы (Raw String Literals)
Строковые литераты из файлов
Строковые срезы (String Slice)
Символы (Chars)
Строковый тип (String)
Текст как параметр функции (Function Parameter)
Создание строк
Форматирование строк (Formatting)
Преобразование строк (Converting Strings)
Глава 6 - Заключение
Глава 7 - Объектно-ориентированное программирование (OOP)
Что такое ООП (OOP)?
Rust не является ООП (OOP) языком
Инкапсуляция с помощью методов
Абстракция с выборочной экспозицией (Abstraction With Selective Exposure)
Полиморфизм с помощью типажей (Traits)
Реализация методов в самих типажах
Наследование типажа (Trait Inheritance)
Динамическая vs Статическая диспетчеризация (Dynamic vs Static Dispatch)
Типаж объекты (Trait Objects)
Обработка не размерных данных (Unsized Data)
Обобщенные функции (Generic Functions)
Сокращение в обобщенной функции (Generic Function Shorthand)
Тип умного указателя Box
Обощенные структуры снова (Generic Structs Revisited)
Глава 7 - Заключение
Chapter 8 - Smart Pointers
Ссылки снова (References Revisited)
Сырые указатели (Raw Pointers)
Разыменование (Dereferencing)
Оператор * (звездочка)
Оператор . (точка)
Умные указатели (Smart Pointers)
Умный небезопасный код (Smart Unsafe Code)
Знакомые друзья (Familiar Friends)
Память, выделяемая в куче (Heap Allocated Memory)
Сигнатура ошибки в функции main(). Cнова (Failable Main Revisited)
Подсчет ссылок (Referencing Counting)
Разделяемый доступ (Sharing Access)
Разделение данных между потоками (Sharing Across Threads)
Комбинирование умных указателей (Combining Smart Pointers)
Глава 8 - Заключение
Глава 9 - Организация и структура проекта (Project Organization and Structure)
Модули (Modules)
Написание программы (Writing a Program)
Написание библиотеки (Writing a Library)
Подключение других модулей и крейтов (Referencing Other Modules and Crates)
Подключение нескольких элементов (Referencing Multiple Items)
Создание модулей (Creating Modules)
Иерархия модуля (Module Hierarchy)
Встроенный модуль (Inline Module)
Ссылка на встроенный модуль (Internal Module Referencing)
Экспорт (Exporting)
Область видимости структур (Structure Visibility)
Автоимпорт (Prelude)
Ваш собственный автоимпорт (Your Own Prelude)
Глава 9 - Заключение
Глава 10 - Конец