Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpAsIr 42 of 288 menu
◀ ▶

Тип обхода в Rust

У стандартного обхода коллекции связанный тип элемента уже задан в библиотеке. Его не подставляют в своем коде: достаточно взять обход и смотреть, что приходит в переменную цикла.

Создадим обход по срезу чисел и выведем каждое значение:

fn main() { let nums = [1, 2, 3]; let it = nums.iter(); for n in it { println!("{}", n); } }

Здесь n имеет тип &i32: обход по срезу выдает ссылки на элементы, а не копии чисел. Если нужны владельные значения, берут другой способ обхода, но связанный тип по-прежнему виден по переменной в цикле.

Тот же срез можно обойти сразу без отдельной переменной для обхода:

fn main() { let nums = [1, 2, 3]; for n in nums.iter() { println!("{}", n); } }

Дан срез:

let words = ["a", "b"];

Запишите цикл по обходу среза и назовите тип переменной цикла.

Дан следующий код:

let data = [4, 5, 6];

Сохраните обход в переменную, пройдите циклом и выведите три числа. Укажите, ссылка это или копия в переменной цикла.

Скажите, зачем смотреть на тип переменной в цикле, если описание стандартного обхода в документации еще не разбирали.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить