Оглавление
Что такое слайсы?Пример использования слайсовПропуск индексов при создании слайсаИзменяемые слайсыМожно ли создавать срезы строк?
Слайсы в Rust
07.02.2026

Слайсы представляют собой особый тип данных в Rust, используемый для удобного доступа к фрагментам массивов, строк и векторов. Они позволяют разработчику извлекать нужные элементы коллекций без копирования исходных данных, что значительно повышает производительность приложений.
Эта статья научит вас основам работы с слайсами в Rust на практических примерах.
Что такое слайсы?
Представьте себе ситуацию, когда вам нужно обратиться лишь к части массива. Например, имеется следующий массив чисел:
Допустим, мы хотим получить доступ ко второму и третьему элементам массива. Для этого создадим срез массива следующим образом:
Здесь важно отметить правую сторону выражения:
&numbers: ссылка на переменнуюnumbers, не саму её копию.[1..3]: обозначение диапазона среза, начиная с индекса1включительно и заканчивая индексом3исключая.
Таким образом,
slice теперь хранит ссылку на вторую и третью позицию массива.Пример использования слайсов
Давайте рассмотрим простой пример вывода элементов массива и полученного среза:
Результат:
Обратите внимание, что срез — это всего лишь ссылка на определённую область памяти, а не сами значения. Именно поэтому перед именем переменной стоит символ
&.Пропуск индексов при создании слайса
При работе со срезами Rust позволяет пропускать начальные или конечные индексы либо оба сразу.
Например:
Пропуск начального индекса:
Результат:
Это эквивалентно записи
&numbers[0..3], поскольку первый индекс подразумевается равным нулю.Пропуск конечного индекса:
Результат:
Здесь записано
&numbers[2..], что означает срез, начиная с третьего элемента (2) и до конца массива.Пропуск обоих индексов:
Результат:
Этот способ используется, если нужно создать срез, охватывающий весь массив целиком.
Изменяемые слайсы
Для изменения значений внутри слайса используется ключевое слово
&mut. Рассмотрим простой пример:Результат:
Теперь вы можете изменять любые элементы внутри вашего среза!
Можно ли создавать срезы строк?
Да, точно так же, как и массивы, строки тоже можно нарезать на фрагменты:
Результат:
Чтобы больше узнать о строках в Rust, можете ознакомиться с нашей статьей по этой теме.

