Введение. Что такое кортеж#
В языке Rust есть несколько базовых композитных типов, позволяющих группировать значения. Один из наиболее простых и часто используемых — это кортеж (tuple). Кортежи особенно удобны, когда нужно вернуть несколько значений из функции без создания отдельной структуры.
Определение и синтаксис#
- Кортеж — это композитный сложный тип данных фиксированной длины. После объявления его размер нельзя изменить.
- Синтаксические правила: Определяются путем перечисления типов через запятую внутри круглых скобок
(). - Состав типов: Перечисляемые в кортеже типы могут быть как абсолютно одинаковыми, так и полностью различаться.
- Вложенность: Допускается создание вложенных кортежей (кортеж как элемент другого кортежа).
Давайте разберём различные варианты объявления кортежей, способов доступа к их элементам и работу с единичным типом на интерактивных слайдах ниже:
Доступ к элементам и вывод типажей#
- Доступ к конкретному элементу кортежа осуществляется через «точку» и его порядковый номер (индекс), начиная с нуля: например,
x.0,x.1. - Компилятор Rust автоматически выводит (реализует) некоторые стандартные типажи (traits) для кортежей (такие как
Debug,Clone,PartialEqи т.д.), если все типы, входящие в состав кортежа, также реализуют эти типажи.
Крайний случай: Пустой кортеж (Unit-тип)#
- Пустой кортеж записывается как
(). - Альтернативное название: «Единичный» тип (unit type).
- Свойства и поведение:
- Функции, у которых явно не указан возвращаемый тип (ничего не возвращают), на самом деле неявно возвращают пустой кортеж
(). - Ряд выражений языка вычисляются в пустой кортеж. К ним относятся циклы (например,
for), а также блоки кода, завершающиеся выражением с точкой с запятой;.
- Функции, у которых явно не указан возвращаемый тип (ничего не возвращают), на самом деле неявно возвращают пустой кортеж
Проверь свои знания!#
Пройдите короткий интерактивный тест, чтобы закрепить понимание кортежей в Rust.
История обновлений
- Установил уровень сложности rust-basic для статьи.
- Добавил интерактивные слайды с запускаемым кодом примеров и тесты для закрепления материала.
Статья прочитана
Пожалуйста, оцените насколько статья была вам полезна и понятна

