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

Метод as_str

Метод as_str возвращает строковый срез &str, который ссылается на содержимое String. Метод не принимает параметров и не копирует данные - он лишь предоставляет borrowed-ссылку на внутренний буфер строки. Это полезно, когда нужно передать содержимое String в функцию, ожидающую &str, без перемещения владения.

Синтаксис

string.as_str()

Пример

Давайте создадим строку "abcde" и получим её строковый срез с помощью метода as_str:

fn main() { let s = String::from("abcde"); let res = s.as_str(); println!("{}", res); }

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

"abcde"

Пример

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

fn main() { let s = String::from("12345"); let res = s.as_str(); println!("{}", res.len()); println!("{}", res); }

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

5 "12345"

Пример

Давайте передадим строковый срез в функцию, которая принимает &str, без перемещения владения исходной строкой:

fn print_str(value: &str) { println!("{}", value); } fn main() { let s = String::from("abcde"); print_str(s.as_str()); println!("{}", s); }

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

"abcde" "abcde"

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

  • класс String,
    который представляет изменяемую строку в Rust
  • метод as_mut_str,
    который возвращает изменяемый строковый срез
  • метод into_bytes,
    который преобразует строку в вектор байтов
  • метод from,
    который создаёт строку из строкового среза
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить