12. Кортежи (Tuple)
Кортеж (Tuple) – это составной тип данных, который может хранить более одного значения одновременно, и эти значения могут быть разных типов.
Пример хранения комплекса данных: имя, возраст, температура, состояние:
fn main() {
let vasya: (String, u8, f32) = ("Вася".to_string(), 24, 36.6);
let masha: (String, u8, f32, &str) = ("Маша".to_string(), 19, 37.1, "Болеет");
println!("{:?}", vasya);
println!("{:?}", masha);
}
Кортежи удобны тем, что в одной переменной мы храним некий комплекс разнородных данных об одном объекте и нам не приходится заводить отдельную переменную для имени, возраста и т.д.
Общий синтаксис:
let tuple_name: (data_type1, data_type2, data_type3) = (value1, value2, value3);
Получение значений элементов кортежа
Мы можем выборочно получить любое значение из кортежа по его индексу через точку, начиная с нуля.
Например, для предыдущего кода это отработает так:
println!("{}",vasya.0);
Распаковка кортежа
Мы можем создать несколько переменных и присвоить им значения кортежа.
fn main() {
let vasya: (String, u8, f32) = ("Вася".to_string(), 24, 36.6);
let (name, age, temperature) = vasya;
println!("Имя {}, возраст {}, температура {}", name, age, temperature);
}
Обратите внимание, что здесь мы создаем произвольный набор данных для каждой переменной, впоследствии мы изучим типы в которых этот набор данных жестко фиксирован.
Для просмотра заданий и решений, а также публикации своих решений необходимо зарегистрироваться на сайте.
Всё бесплатно, мы просто хотим с вами познакомиться и понять насколько актуально то, что мы делаем.