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

Метод iter

Метод iter возвращает итератор, который последовательно выдаёт ссылки на элементы среза. Он не принимает параметров и не изменяет исходные данные. Каждый элемент итератора имеет тип &T, где T - тип элементов среза. Метод удобен для обхода среза в цикле for, а также для использования адаптеров итераторов, таких как map, filter и sum.

Синтаксис

slice.iter()

Пример

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

fn main() { let arr = [1, 2, 3, 4, 5]; let slice = &arr[..]; for item in slice.iter() { println!("{}", item); } }

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

1 2 3 4 5

Пример

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

fn main() { let arr = ["a", "b", "c", "d", "e"]; let slice = &arr[..]; let res: Vec<&&str> = slice.iter().collect(); println!("{:?}", res); }

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

["a", "b", "c", "d", "e"]

Пример

Давайте найдём сумму всех элементов среза, используя адаптер sum:

fn main() { let arr = [1, 2, 3, 4, 5]; let slice = &arr[..]; let res: i32 = slice.iter().sum(); println!("{}", res); }

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

15

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

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