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

Тип Range

Тип Range в Rust описывает диапазон значений, который включает нижнюю границу и не включает верхнюю. Он создаётся с помощью оператора .., например 1..5. Такой диапазон можно использовать в циклах for, для срезов массивов и векторов, а также для проверки принадлежности значения с помощью метода contains. Тип Range является обобщённым и может хранить значения любого типа, поддерживающего сравнение и инкремент.

Синтаксис

let range = start..end;

Пример

Давайте создадим диапазон от 1 до 5 и выведем его границы:

fn main() { let range = 1..5; println!("start: {}, end: {}", range.start, range.end); }

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

start: 1, end: 5

Пример

Давайте переберём все числа из диапазона 1..5 с помощью цикла for:

fn main() { for i in 1..5 { println!("{}", i); } }

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

1 2 3 4

Пример

Давайте проверим, содержит ли диапазон 1..5 число 3 и число 5:

fn main() { let range = 1..5; println!("{}", range.contains(&3)); println!("{}", range.contains(&5)); }

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

true false

Пример

Давайте используем диапазон для получения среза вектора vec![1, 2, 3, 4, 5]:

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

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

[2, 3, 4]

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

  • тип RangeInclusive,
    который включает и нижнюю, и верхнюю границу
  • тип array,
    который поддерживает срезы с помощью диапазонов
  • тип tuple,
    который может содержать диапазоны как элементы
  • тип usize,
    который часто используется как граница диапазона для индексов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить