← Каталог
Типы данных и владение памятью — Составные типы
Фрагмент из «Типы данных и владение памятью»: Составные типы.
// Объявление массива явным списком значений
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);