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

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

Давайте теперь будем читать вектор по ссылке. Ссылка позволяет смотреть элементы и не забирать список у вызывающего. В заголовке перед типом ставят амперсанд.

Узнаем длину по ссылке:

fn func(v: &Vec<i32>) -> i32 { v.len() as i32 } fn main() { let nums = vec![1, 2, 3]; let n = func(&nums); println!("{}", n); println!("{}", nums[0]); }

На экране 3 и 1. Переменная nums остается хозяином списка.

Напечатаем фразу из среза текста:

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

Дан вектор:

let data = vec![4, 5, 6];

Напишите блок со ссылкой на список, который отдает первый элемент, и выведите ответ.

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

fn main() { let items = vec![9]; show(&items); println!("{}", items.len()); }

Допишите show со ссылкой и печатью длины.

Скажите, чем параметр-ссылка отличается от параметра без амперсанда для вектора.

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