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

Массив в параметре функции в Rust

Массив чисел фиксированного размера копируется в параметр целиком. Снаружи исходный массив остается на месте, а внутри блока работают с копией.

Сложим три числа из массива:

fn sum3(a: [i32; 3]) -> i32 { a[0] + a[1] + a[2] } fn main() { let data = [2, 3, 4]; let s = sum3(data); println!("{}", s); println!("{}", data[0]); }

На экране 9 и снова 2. Копия не мешает читать data снаружи.

Размер массива входит в тип параметра:

fn func(a: [i32; 2]) -> i32 { a[0] } fn main() { let pair = [7, 8]; println!("{}", func(pair)); }

Дан массив:

let trio = [1, 2, 3];

Напишите блок, который принимает копию из трех чисел и отдает средний элемент. Выведите результат для trio.

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

fn main() { let row = [5, 6]; let x = func(row); println!("{}", x); }

Допишите func с параметром массива из двух i32.

Скажите, остается ли исходный массив доступным после вызова с копированием.

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