Параметр функции в Rust
Параметр функции виден в ее теле и не виден в вызывающем коде. Имя в списке параметров относится только к телу этой функции. После вызова обратиться к параметру снаружи нельзя, даже если передали значение из переменной с похожим смыслом.
Функция печатает переданное число внутри своего тела:
fn show_size(size: i32) {
println!("{}", size);
}
show_size(5);
На экране 5. Имя size живет только
внутри show_size. Если после вызова
обратиться к size снаружи, программа
не соберется:
fn show_size(size: i32) {
println!("{}", size);
}
show_size(5);
println!("{}", size);
Переменная в вызывающем коде и параметр с другим именем не связаны. Вызов передает значение, а не само имя:
fn print_part(part: i32) {
println!("{}", part);
}
let value = 3;
print_part(value);
println!("{}", value);
Дан следующий код:
fn greet(label: i32) {
println!("{}", label);
}
greet(2);
println!("{}", label);
Скажите, соберется ли программа.
Даны фрагменты:
fn take(n: i32) {
println!("{}", n);
}
let n = 9;
take(n);
Скажите, что выведется и видно ли n
из параметра после вызова take.
Напишите функцию show_twice с параметром
mark. Дважды выведите mark
из тела функции. Вызовите ее с числом
4.