BorrowCheck › Ядро языка Rust

Синтаксис, переменные, типы

Базовые конструкции языка: объявление переменных, изменяемость, затенение, скалярные и составные типы, переполнение целых.

Тема знакомит с базовым синтаксисом: объявлением переменных через let, изменяемостью (mut), затенением (shadowing) и отличием const от let. Вопросы проверяют, чем затенение отличается от изменения значения, почему mut не позволяет сменить тип и почему нельзя прочитать переменную до инициализации. Раздел о скалярных типах разбирает типы литералов по умолчанию, usize и isize, литералы 'a', b'a' и "a", запрет на смешение целых разных типов, целочисленное деление и сравнения с NaN. Отдельный раздел посвящён целочисленному переполнению: поведению в отладочной и релизной сборке, настройке overflow-checks, явным методам wrapping_add, checked_add и saturating_add, а также случаю i8::MIN / -1. Разделы о кортежах, массивах и управляющих конструкциях показывают, что длина массива входит в его тип, что блок, if и loop являются выражениями со значением, как работают метки циклов и break со значением и почему тип ! приводится к любому типу.

38 вопросов: базовый уровень — 22, средний — 14, углублённый — 2. 6 справок, 13 источников.

Разделы

  1. let, mut, затенение
  2. Скалярные типы и литералы
  3. Целочисленное переполнение
  4. Кортежи и массивы
  5. Выражения и инструкции
  6. Управляющие конструкции

Следующая тема: Владение, перемещение, Copy/Clone