Типы срезов
Срез — это динамически sized тип, представляющий “вид” в последовательность
элементов типа T. Тип среза записывается как [T].
Типы срезов обычно используются через типы указателей. Например:
&[T]: “разделяемый срез”, часто называемый просто “срезом”. Он не владеет данными, на которые указывает; он заимствует их.&mut [T]: “изменяемый срез”. Он изменяемо заимствует данные, на которые указывает.Box<[T]>: “упакованный срез”
Примеры:
#![allow(unused)] fn main() { // Массив в куче, приведенный к срезу let boxed_array: Box<[i32]> = Box::new([1, 2, 3]); // (Разделяемый) срез массива let slice: &[i32] = &boxed_array[..]; }
Все элементы срезов всегда инициализированы, и доступ к срезу всегда проверяется на границы в безопасных методах и операторах.