Menu
Coddy logo textTech

Параметры и аргументы

Часть раздела Fundamentals путешествия по Rust на Coddy — урок 50 из 75.

Аргумент функции — это значение, которое вы передаете в функцию при ее вызове. Чтобы добавить аргументы в функцию, мы записываем их внутри круглых скобок ():

fn function_name(arg1: data_type, arg2: data_type, ...) {
	// код
}

Мы можем называть аргументы как хотим и можем писать столько аргументов, сколько нам нужно.

Чтобы вызвать функцию и передать ей аргументы, мы пишем:

function_name(value1, value2, value3, ...);

Передача слишком большого количества аргументов функции, которая ожидает меньшее количество аргументов, приведет к сбою программы.

Пример использования:

fn is_even(number: i32) {
	if number % 2 == 0 {
		println!("{} is even", number);
	} else {
		println!("{} is odd", number);
	}
}

for i in 15..34 {
	is_even(i);
}
for i in 153..219 {
	is_even(i);
}

Здесь у нас есть функция под названием is_even, которая принимает один аргумент под названием number и выводит на экран, является ли число четным или нечетным. Затем мы вызываем функцию дважды: первый раз для всех чисел от 15 до 34, второй раз для всех чисел от 153 до 219.

challenge icon

Задание

Легко

Напишите программу, которая получает два числа на вход. Входные числа являются аргументами функции. 

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

Вызовите функцию с входными числами.

Примечание! В вашем коде напишите функцию перед операторами её вызова/выполнения.

Шпаргалка

Чтобы добавить аргументы в функцию, запишите их внутри круглых скобок вместе с их типами данных:

fn function_name(arg1: data_type, arg2: data_type) {
    // код
}

Вызовите функцию, передав значения в качестве аргументов:

function_name(value1, value2);

Пример с одним аргументом:

fn is_even(number: i32) {
    if number % 2 == 0 {
        println!("{} is even", number);
    } else {
        println!("{} is odd", number);
    }
}

is_even(42);

Передача слишком большого количества аргументов в функцию приведет к сбою программы

Попробуйте сами

use std::io;

// Объявление функции


fn main() {
    let mut input_a = String::new();
    let mut input_b = String::new();

    io::stdin().read_line(&mut input_a).unwrap();
    io::stdin().read_line(&mut input_b).unwrap();

    let a: i32 = input_a.trim().parse().unwrap();
    let b: i32 = input_b.trim().parse().unwrap();
    // Вызов функции с аргументами a и b
    
}
quiz iconПроверьте себя

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

Все уроки раздела Fundamentals