Общая ссылка на строку в Rust
Ссылка указывает на уже существующее значение и не забирает его у владельца. Хозяин остается прежним, а через ссылку можно только читать данные, пока сама ссылка живет в блоке.
Соберем строку и заведем ссылку на нее:
let name = String::from("ann");
let r = &name;
println!("{}", r);
println!("{}", name);
На экране два раза "ann". Печать
через r и через name дает
один и тот же текст. После создания ссылки
владелец по-прежнему может пользоваться
своим именем:
let city = String::from("oslo");
let view = &city;
println!("{}", view.len());
println!("{}", city.len());
Дан следующий код:
let tag = String::from("rust");
Заведите имя для чтения того же текста, не отдавая строку, и выведите его два раза разными командами печати.
Дан следующий код:
let word = String::from("code");
let peek = &word;
Выведите длину текста через peek
и снова через word.
Объявите строку "mu" в типе
String, откройте чтение вторым
именем и выведите оба.