Код IT
← Каталог

Типы данных и владение памятью — Составные типы

Фрагмент из «Типы данных и владение памятью»: Составные типы.

Rust main.rs
// Объявление массива явным списком значений
let numbers = [1, 2, 3, 4, 5];

// Доступ к элементам по индексу
let first_num = numbers[0]; // 1
let last_num = numbers[4];  // 5

// Ошибка: индекс вне границ приведет к панике времени выполнения
// let out_of_bounds = numbers[10]; 

// Сокращенная форма объявления: создание массива из повторяющихся значений
let zeros = [0; 10];      // Массив из десяти нулей
let ones = [1; 5];        // Массив из пяти единиц
let fives = [5; 3];       // Массив из трех пятерок

// Тип массива явно указан как [i32; 5]
let explicit_array: [i32; 5] = [10, 20, 30, 40, 50];

// Изменение элементов массива
let mut mutable_array = [1, 2, 3];
mutable_array[0] = 99; // Разрешено, так как массив изменяемый

println!("Первый элемент после изменения: {}", mutable_array[0]);

// Итерация по массиву
for value in &numbers {
    println!("Значение: {}", value);
}

// Вычисление суммы элементов массива
let sum: i32 = numbers.iter().sum();
println!("Сумма элементов: {}", sum);

// Работа с подмассивами (срезы)
let slice = &numbers[1..4]; // Элементы со второго по четвертый (не включая пятый)
println!("Срез: {:?}", slice);
// Объявление массива явным списком значений
let numbers = [1, 2, 3, 4, 5];

// Доступ к элементам по индексу
let first_num = numbers[0]; // 1
let last_num = numbers[4];  // 5

// Ошибка: индекс вне границ приведет к панике времени выполнения
// let out_of_bounds = numbers[10]; 

// Сокращенная форма объявления: создание массива из повторяющихся значений
let zeros = [0; 10];      // Массив из десяти нулей
let ones = [1; 5];        // Массив из пяти единиц
let fives = [5; 3];       // Массив из трех пятерок

// Тип массива явно указан как [i32; 5]
let explicit_array: [i32; 5] = [10, 20, 30, 40, 50];

// Изменение элементов массива
let mut mutable_array = [1, 2, 3];
mutable_array[0] = 99; // Разрешено, так как массив изменяемый

println!("Первый элемент после изменения: {}", mutable_array[0]);

// Итерация по массиву
for value in &numbers {
    println!("Значение: {}", value);
}

// Вычисление суммы элементов массива
let sum: i32 = numbers.iter().sum();
println!("Сумма элементов: {}", sum);

// Работа с подмассивами (срезы)
let slice = &numbers[1..4]; // Элементы со второго по четвертый (не включая пятый)
println!("Срез: {:?}", slice);