11. Сложные типы данных
Ранее, в лекции 5, мы ознакомились с простыми простыми типами данных:
- Числа:
- Целое (Integer),
- Целое беззнаковое (Unsiegned integer),
- Дробное (Float)
- Логический (Bool)
- Символ (Char)
- Фиксированная строка (&Str)
Помимо них существует множество сложных типов данных, которые решают те или иные специфические задачи. Сложные (или составные, или композитные) типы данных группируют несколько значений в один тип. Перечислим их.
Кортеж (Tuple)
Кортеж группирует несколько значений различного типа в единый комбинированный тип.
Примеры:
let coord: (f32, f32) = (5.4, 3.6); // x, y
let person: (String, u8, f32) = ("Вася".to_string(), 24, 36.6); // Имя, возраст, температура
Массив (Array)
Массив – это фиксированный набор однородных значений.
Примеры:
let grades: [u8; 4] = [2, 3, 4, 5];
let weekdays: [&str; 5] = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
Вектор (Vector)
Вектор похож на массив, тоже содержит однородные значения, но количество его элементов может изменяться.
Примеры:
let countries: Vec<&str> = vec!["Россия", "Болгария", "Аргентина"];
let temperature_chart: Vec<f32> = vec![37.9, 37.1, 36.8, 36.6];
В эти вектора мы можем добавить ещё несколько стран или показаний термометра, соответственно.
String Object (String)
Объект строки содержит набор символов. Длину строки можно изменять.
Пример:
let quote: String = "Слова только мешают понимать друг друга".to_string();
Далее идут структуры данных, позволяющие сделать код крайне запутанным для новичка, но, вместе с тем, дающие новые возможности для организации кода. Их мы будем изучать в другом курсе.
Для просмотра заданий и решений, а также публикации своих решений необходимо зарегистрироваться на сайте.
Всё бесплатно, мы просто хотим с вами познакомиться и понять насколько актуально то, что мы делаем.