РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
19 of 1245 menu

Ключевое слово mod

Ключевое слово mod объявляет модуль - именованное пространство имён, внутри которого можно размещать функции, структуры, константы и другие модули. Параметром ключевое слово принимает имя модуля, за которым следует тело модуля в фигурных скобках либо точка с запятой для подключения внешнего файла. Модули помогают организовать код и управлять видимостью элементов через pub.

Синтаксис

mod module_name { // тело модуля }

Также модуль можно подключить из отдельного файла:

mod module_name;

Пример

Давайте объявим модуль math с функцией сложения и вызовем её из функции main:

mod math { pub fn add(a: i32, b: i32) -> i32 { a + b } } fn main() { let res = math::add(2, 3); println!("{}", res); }

Результат выполнения кода:

5

Пример

Давайте объявим вложенный модуль inner внутри модуля outer и обратимся к его функции:

mod outer { pub mod inner { pub fn hello() -> &'static str { "abcde" } } } fn main() { let res = outer::inner::hello(); println!("{}", res); }

Результат выполнения кода:

"abcde"

Пример

Давайте объявим модуль utils с публичной константой и приватной функцией, доступной только внутри модуля:

mod utils { pub const VALUE: i32 = 12345; fn secret() -> i32 { 42 } pub fn call_secret() -> i32 { secret() } } fn main() { println!("{}", utils::VALUE); println!("{}", utils::call_secret()); }

Результат выполнения кода:

12345 42

Смотрите также

  • ключевое слово pub,
    которое делает элементы модуля публичными
  • ключевое слово use,
    которое подключает пути к элементам модуля
  • ключевое слово crate,
    которое ссылается на корневой модуль пакета
  • ключевое слово super,
    которое ссылается на родительский модуль
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить