Перейти к основному содержимому
  1. Rust/

Кортежи (Tuples) в Rust

600 слов·3 минуты· loading · loading · · ·Rust-basic
about-rust - Эта статья часть цикла.
Статей прочитано 0/36
0%
📚 Введение и дополнительные материалы
🟢 Начальный уровень (Rust-basic)
Не прочитана
06 Кортежи (Tuples) в Rust (текущая)
Не прочитана
Не прочитана
Не прочитана
Не прочитана

Введение. Что такое кортеж
#

В языке Rust есть несколько базовых композитных типов, позволяющих группировать значения. Один из наиболее простых и часто используемых — это кортеж (tuple). Кортежи особенно удобны, когда нужно вернуть несколько значений из функции без создания отдельной структуры.

Определение и синтаксис
#

  • Кортеж — это композитный сложный тип данных фиксированной длины. После объявления его размер нельзя изменить.
  • Синтаксические правила: Определяются путем перечисления типов через запятую внутри круглых скобок ().
  • Состав типов: Перечисляемые в кортеже типы могут быть как абсолютно одинаковыми, так и полностью различаться.
  • Вложенность: Допускается создание вложенных кортежей (кортеж как элемент другого кортежа).

Давайте разберём различные варианты объявления кортежей, способов доступа к их элементам и работу с единичным типом на интерактивных слайдах ниже:

Работа с кортежами в Rust
Шаг 1/3
 1fn main() {
 2    // Пример кортежа с разными типами
 3    let t1: (u32, u8, f64) = (500, 1, 6.28);
 4
 5    // Пример кортежа с одинаковыми типами
 6    let t2: (u32, u32, u32) = (10, 20, 30);
 7
 8    // Пример вложенного кортежа
 9    let t3: (u32, (u64, u8), u32) = (100, (50, 2), 200);
10
11    println!("t1: {:?}", t1);
12    println!("t2: {:?}", t2);
13    println!("t3: {:?}", t3);
14}

Объявление кортежей в Rust

  • Кортеж создается путем перечисления значений через запятую в круглых скобках ().
  • Типы элементов могут полностью отличаться (t1) или быть одинаковыми (t2).
  • Кортежи могут содержать другие кортежи в качестве элементов (t3), формируя вложенные структуры.

Доступ к элементам и вывод типажей
#

  • Доступ к конкретному элементу кортежа осуществляется через «точку» и его порядковый номер (индекс), начиная с нуля: например, x.0, x.1.
  • Компилятор Rust автоматически выводит (реализует) некоторые стандартные типажи (traits) для кортежей (такие как Debug, Clone, PartialEq и т.д.), если все типы, входящие в состав кортежа, также реализуют эти типажи.

Крайний случай: Пустой кортеж (Unit-тип)
#

  • Пустой кортеж записывается как ().
  • Альтернативное название: «Единичный» тип (unit type).
  • Свойства и поведение:
    1. Функции, у которых явно не указан возвращаемый тип (ничего не возвращают), на самом деле неявно возвращают пустой кортеж ().
    2. Ряд выражений языка вычисляются в пустой кортеж. К ним относятся циклы (например, for), а также блоки кода, завершающиеся выражением с точкой с запятой ;.

Проверь свои знания!
#

Пройдите короткий интерактивный тест, чтобы закрепить понимание кортежей в Rust.

История обновлений

  • Установил уровень сложности rust-basic для статьи.
  • Добавил интерактивные слайды с запускаемым кодом примеров и тесты для закрепления материала.
Статья прочитана
Пожалуйста, оцените насколько статья была вам полезна и понятна
Цикл статей
about-rust - Эта статья часть цикла.
Статей прочитано 0/36
0%
📚 Введение и дополнительные материалы
🟢 Начальный уровень (Rust-basic)
Не прочитана
06 Кортежи (Tuples) в Rust (текущая)
Не прочитана
Не прочитана
Не прочитана
Не прочитана

Связанные статьи