Строка в Rust представляет собой последовательность символов Юникода, закодированных в формате UTF-8. Например, строка "Программирование на Rust" состоит из отдельных символов Юникода: "П""р""о""г""р""а""м""м""и""р""о""в""а""н""и""е", пробел и далее.

Создание строки

Создать строку с начальным значением можно с помощью метода String::from():
Здесь мы создаем новую переменную типа String и присваиваем ей значение "Привет, мир!". Важно отметить, что строки хранятся динамически в оперативной памяти и их размер заранее неизвестен компилятору.

Изменяемые строки

Для изменения строки используем ключевое слово mut перед объявлением переменной:
Теперь мы можем изменять строку, например, добавить новый фрагмент:
Результат:
Мы добавили строку "собака" в конец строки "кот", использовав метод push_str().

Разделение строки

Разделять строку можно с помощью операции срезки (slice), позволяющей обратиться к определенному фрагменту строки:
Результат:
Символ & обозначает ссылку на строку, а не саму строку. Срезы позволяют обращаться к частям массива или вектора.

Перебор элементов строки

Перебирать символы строки можно с помощью метода chars():
Результат:
Метод chars() позволяет пройти по каждому символу строки отдельно.
Rust не поддерживает доступ к элементам строки по индексу, попытка сделать это приведет к ошибке. Например:

Создание пустой строки

Можно создать пустую строку, вызвав метод String::new():
Затем можно добавить новые значения методом push_str():

String и str

Rust существует два основных типа строк: String и str.
  • Тип String: хранится в динамической области памяти. Размер фиксирован, допускает изменение.
  • Тип str: ссылка на строку, хранящуюся в памяти. Обрабатывается через указатель вида &str.
Таким образом, работа со строками в Rust отличается гибкостью и безопасностью благодаря строгому контролю типов и эффективной работе с памятью.