Перейти к основному содержанию

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();

Далее идут структуры данных, позволяющие сделать код крайне запутанным для новичка, но, вместе с тем, дающие новые возможности для организации кода. Их мы будем изучать в другом курсе.

Для просмотра заданий и решений, а также публикации своих решений необходимо зарегистрироваться на сайте.

Всё бесплатно, мы просто хотим с вами познакомиться и понять насколько актуально то, что мы делаем.

© Клют И. А., 2022. Копирование контента возможно только с письменного разрешения автора.