Функции

Последнее обновление: 08.04.2021

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

Формальное определение функции:

fn имя_функции(параметры) 
{
}

Определение функции начинается с ключевого слова fn, после которого идет название функции. После названия функции в скобках указывается список параметров.

По умолчанию при создании любой программы на Rust мы уже сталкиваемся с одной специальной функцией - main, с которой начинается выполнение программы на языке Rust. Определим еще одну функцию:

fn main()
{
	
}

fn hello()
{
    println!("Hello Rust");
}

Здесь кроме функции main определена еще одна функция, которая называется "hello". Она, как и функция main, не принимает никаких параметров, поэтому после ее названия идут пустые скобки. И все, что эта функция делает, это выводит на консоль строку "Hello Rust".

Функция определяется вне функции main, однако где именно - до или после функции main - это без разницы.

Тем не менее если мы скомпилируем и запустим программу, то ничего не произойдет, и на консоль не будет выводиться никакой строки "Hello Rust", потому что функция hello нигде не запускается. Более того при компиляции компилятор выведет предупреждение, что функция hello не используется.

Сама по себе функция hello не будет выполняться. По умолчанию Rust выполняет только функцию main. Поэтому, чтобы выполнить функцию hello, ее необходимо вызвать в функции main. Вызов функции осуществляется в форме:

имя_функции(аргументы);

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

Например, вызовем функцию hello два раза:

fn main(){
	hello();
    hello();
}

fn hello()
{
    println!("Hello Rust");
}

В итоге программа два раза выведет на консоль строку "Hello Rust":

Hello Rust
Hello Rust

Подобным образом можно определять и вызывать и другие функции:

fn main(){
	hello();
    welcome();
}

fn hello()
{
    println!("Hello!");
}
fn welcome()
{
    println!("Welcome to Rust World!");
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850