Преобразование в &str
Преобразование в &str - это получение строкового среза,
который ссылается на уже существующую строку или другой источник
данных. Наиболее часто это преобразование выполняется с помощью
метода as_str у типа String, а также с помощью
взятия среза &s[..] или оператора &.
Параметров эти способы не принимают - они просто возвращают
ссылочное представление строки.
Синтаксис
string.as_str()
&string[..]
&string
Пример
Давайте получим &str из строки "abcde"
с помощью метода as_str:
fn main()
{
let s = String::from("abcde");
let res = s.as_str();
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте получим &str из строки "12345"
с помощью взятия среза:
fn main()
{
let s = String::from("12345");
let res = &s[..];
println!("{}", res);
}
Результат выполнения кода:
"12345"
Пример
Давайте передадим &str в функцию, которая принимает
строковый срез, используя автоматическое приведение ссылки:
fn print_str(s: &str)
{
println!("{}", s);
}
fn main()
{
let s = String::from("abcde");
print_str(&s);
}
Результат выполнения кода:
"abcde"