Тур по Rust
Заняття
Привіт,
Розділ 1 - Основи
The Rust Playground
Змінні
Змінюваність змінних
Базові типи
Перетворення базових типів (Type Conversion)
Константи
Масиви
Функції
Повернення декількох значень (Tuple)
Повернення пустого значення
Розділ 1 - Заключна частина
Розділ 2 - Контроль потоку виконання
if/else if/else
Цикли
while
for
match
Певернення значень з циклів
Повернення значень з блокових виразів
Розділ 2 - Висновки
Розділ 3 - Базові структури даних
Структури
Виклик методів
Пам'ять
Створення даних у пам'яті
Кортежні структури (Tuple-like Structs)
Юніт-структури (Unit-like Structs)
Переліки (Enumerations)
Переліки з даними
Розділ 3 - Висновки
Розділ 4 - Узагальнені типи
Що таке узагальнені типи (Generic Types)?
Представлення відсутності значення
Тип Option
Тип Result
Повернення результату з Main
Елегантна обробка помилок
Брудна обробка Option/Result
Вектори
Розділ 4 - Висновки
Розділ 5 - Володіння та позичання
Володіння
Управління даними на основі розміру.
Видалення відбувається по іерархії
Передача володіння
Повернення володіння
Отримання володіння через посилання
Отримання володіння через мутабельні посилання
Розіменування посилань
Передача запозичених даних
Посилання на посилання
Явний час життя
Кілька модифікаторів пріорітету
Статичний час життя
Час життя в типах даних
Розділ 5 - Висновки
Розділ 6 - Текст
Рядкові літерали
Що таке utf-8
Екранування символів
Багаторядкові рядкові літерали
Необроблені рядкові літерали
Рядкові літерали з файлів
Рядкові зрізи (String Slice)
Тип Char
Структура String
Текст,як параметр функції
Побудова рядків
Форматування рядків
Конвертація рядків
Розділ 6 - Висновки
Розділ 7 - Об'єктно Орієнтоване Програмування
Що таке ООП?
Rust не є ООП-орієнтованим
Інкапсуляція в методах
Абстракція з вибірковою експозицією
Поліморфізм у Traits
Імплементація методів у Traits
Наслідування у Traits
Динамічна та статична диспетчеризації.
Об'єкти в Traits
Обробка нерозмірних даних
Узагальнені функції
Скорочення в узагальнених функціях
Box
Узагальнені структури
Розділ 7 - Висновки
Розділ 8 - Розумні покажчики (Smart Pointers)
Про посилання
Необробленні покажчики (Raw Pointers)
Розіменування
Оператор *
Оператор .
Розумні вказівники (Smart Pointers)
Розумний небезпечний код (Smart Unsafe Code)
Наші старі друзі
Пам'ять у купі (Heap Allocated Memory)
Обробка помилок функції main
Лічильник посилань
Спільний доступ
Спільне доступ до даних у різних потоках
Поєднання розумних покажчиків
Розділ 8 - Висновок
Розділ 9 - Організація проекту, та його структура
Модулі
Написання програм
Написання бібліотеки
Зсилання на crate та модулі
Посилання на декілька елементів
Створення модулів
Ієрархія модулів
Вбудований модуль
Внутрішнє посилання на модулі
Експорт
Видимість структури
Прелюдія
Ваша особиста прелюдія
Розділ 9 - Висновки
Розділ 10 - Заключне слово