Метод 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,
который создаёт строку из строкового среза