Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmOwFR 252 of 373 menu
◀ ▶

Ссылка на строку в функцию в Rust

Чтобы функция прочитала текст, не забирая строку, параметр объявляют как ссылку. Тип &str подходит и для литерала, и для String, если передать ссылку на содержимое владельца.

Опишем функцию для печати и сохраним строку снаружи после обращения к ней:

fn show(name: &str) { println!("{}", name); } fn main() { let name = String::from("ann"); show(&name); println!("{}", name); }

На экране два раза "ann". Имя name по-прежнему владеет текстом. Тот же прием работает с готовым литералом:

fn show(title: &str) { println!("{}", title); } fn main() { show("rust"); }

Дан следующий код:

fn len_hint(text: &str) { println!("{}", text.len()); } fn main() { let word = String::from("book"); len_hint(&word); }

Добавьте печать word после обращения к функции и убедитесь, что имя остается рабочим.

Напишите функцию tag_line, которая принимает текст по ссылке и печатает его, а в main передайте строку "prime" так, чтобы владелец остался снаружи.

Скажите, можно ли после функции со ссылочным параметром снова дописать текст в String, если владение не передавали.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить