Оператор return
Оператор return завершает выполнение текущей функции
и возвращает указанное значение в точку вызова.
Параметром оператор принимает выражение, значение которого
нужно вернуть из функции. Если функция возвращает ,
то return можно использовать без значения.
Оператор return часто применяется для раннего выхода
из функции при выполнении некоторого условия.
Синтаксис
return значение;
Также оператор return может использоваться
без значения для досрочного завершения функции,
которая возвращает :
return;
Пример
Давайте напишем функцию, которая возвращает большее
из двух чисел, используя return:
fn max(a: i32, b: i32) -> i32
{
if a > b {
return a;
}
return b;
}
fn main()
{
let res = max(3, 5);
println!("{}", res);
}
Результат выполнения кода:
5
Пример
Давайте используем return без значения
для досрочного выхода из функции:
fn print_positive(n: i32)
{
if n <= 0 {
println!("not positive");
return;
}
println!("positive: {}", n);
}
fn main()
{
print_positive(-3);
print_positive(7);
}
Результат выполнения кода:
"not positive"
"positive: 7"
Пример
Давайте вернём строку из функции с помощью return:
fn greet(name: &str) -> String
{
if name.is_empty() {
return String::from("hello, stranger");
}
return format!("hello, {}", name);
}
fn main()
{
let res = greet("abcde");
println!("{}", res);
}
Результат выполнения кода:
"hello, abcde"