Logo

Developer learning path

Rust

Функции и модули в Rust

Функции и модули

29

#description

В языке Rust функции могут принимать и возвращать значения. Они являются основными строительными блоками программы.

Синтаксис определения функции выглядит следующим образом:

                    
fn имя_функции (аргументы: тип_аргументов) -> тип_возвращаемого_значения {
    // тело функции
}
                  

Пример функции, складывающей два целых числа и возвращающей их сумму:

                    
fn sum(a: i32, b: i32) -> i32 {
    return a + b;
}
                  

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

Определение модуля выглядит так:

                    
mod имя_модуля {
    // содержимое модуля
}
                  

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

                    
mod math {
    pub fn sum(a: i32, b: i32) -> i32 {
        return a + b;
    }
}

fn main() {
   let a = 2;
   let b = 3;
   let result = math::sum(a, b);
   println!("{} + {} = {}", a, b, result);
}
                  

Здесь мы создали модуль math, который экспортирует одну функцию sum. Для вызова функции в главной функции main мы указываем имя модуля перед именем функции через двойное двоеточие (math::sum).

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

March 27, 2023

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

Если же непонятен весь вопрос, то нажмите на кнопки внизу, чтобы получить новый вариант объяснения, практические примеры или критически оценить сам вопрос.