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

Метод as_slice

Метод as_slice возвращает срез &[T], содержащий все элементы вектора. Метод не принимает параметров. Срез предоставляет доступ к элементам вектора только для чтения, при этом сам вектор остаётся неизменным. Это удобно, когда нужно передать данные вектора в функцию, которая ожидает срез, а не владеющий вектор.

Синтаксис

vec.as_slice()

Пример

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

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

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

[1, 2, 3, 4, 5]

Пример

Давайте передадим срез вектора в функцию, принимающую срез:

fn sum(slice: &[i32]) -> i32 { let mut res = 0; for item in slice { res += item; } res } fn main() { let vec = vec![1, 2, 3, 4, 5]; let res = sum(vec.as_slice()); println!("{}", res); }

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

15

Пример

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

fn main() { let vec = vec!["a", "b", "c", "d", "e"]; let slice = vec.as_slice(); println!("{}", slice.len()); }

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

5

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

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