РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
278 of 1245 menu

Класс slice

Класс slice в Rust представляет собой срез - ссылку на непрерывную последовательность элементов, хранящуюся в другом контейнере, например в массиве или векторе. Срез не владеет данными, а лишь заимствует их, поэтому он описывается типом &[T] для неизменяемого среза и &mut [T] для изменяемого. Параметром тип T задаёт тип элементов, которые содержит срез. Срезы широко используются для передачи части коллекции в функции без копирования данных.

Синтаксис

&[T] &mut [T]

Пример

Давайте создадим вектор и получим его срез с помощью диапазона:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let slice = &vec[1..4]; println!("{:?}", slice); }

Результат выполнения кода:

[2, 3, 4]

Пример

Давайте узнаем длину среза с помощью метода len:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let slice = &vec[1..4]; println!("{}", slice.len()); }

Результат выполнения кода:

3

Пример

Давайте переберём элементы среза с помощью цикла:

fn main() { let vec = vec!["a", "b", "c", "d", "e"]; let slice = &vec[1..4]; for el in slice { println!("{}", el); } }

Результат выполнения кода:

"b" "c" "d"

Смотрите также

  • метод len,
    который возвращает количество элементов в срезе
  • метод get,
    который возвращает элемент среза по индексу
  • метод iter,
    который возвращает итератор по элементам среза
  • метод split_at,
    который делит срез на две части по указанному индексу
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить