Массив
- коллекция значений одного типа
- коллекция фиксированного размера
Доступ к элементу
Вы можете получить доступэлемент массива по имени массива, квадратным скобкам и индексу, например:
let arr = [22, 433, 55];
assert_eq!(arr[0], 22);
Разрушающий массив
Массивы могут быть разбиты на несколько переменных, например:
let arr = [1, 42 ,309];
let [id, code, set] = arr;
assert_eq!(id, 1);
assert_eq!(code, 42);
assert_eq!(set, 309);
Tuple
- коллекция значений различных типов
- конечная гетерогенная последовательность
Доступ к элементу
Вы можете получить доступ к элементу кортежа с помощьюимя, точка и индекс кортежа, например:
let tup = (22, "str", 55);
assert_eq!(tup.0, 22);
Функции
Кортежи могут использоваться для возврата нескольких значений из функций, например:
fn num(i: u32) -> (i64, u32) {
(-33, 33 + i)
}
assert_eq!(num(12), (-33, 45));
Уничтожение кортежей
Кортежи также могут быть уничтожены, и более распространенной практикой является уничтожение кортежей, а не массивов, например:
let tup = (212, "Wow", 55);
let (num, word, id) = tup;
assert_eq!(num, 212);
assert_eq!(word, "Wow");
assert_eq!(id, 55);
Полезные ресурсы: