Определение модуля во внешнем файле

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

Обычно модули определяются в отдельных файлах. Рассмотрим, как определить модуль во внешнем файле и подключить его.

Сначала определим новый файл lifetime.rs со следующим кодом:

pub mod messages{	
	pub mod message_functions{
		pub fn hello(){
			println! ("Hello");
		}
		pub fn bye(){
			println! ("Good bye");
		}
	}
}

Файл lifetime.rs фактически определяет одноименный модуль - lifetime, который содержит модуль "messages", а тот - вложенный модуль "message_functions". В последнем определены две функции - hello() и bye()

Теперь наша задача заключается в том, чтобы подключить этот файл в основной файл программы.

Для подключения внешнего файла применяется оператор mod, после которого указывается имя файла (без расширения .rs):

mod внешний_файл;

Пусть главный файл программы располагается в одной папке с модулем lifetime.rs. Тогда подключение и использование функций из этого модуля будет выглядеть следующим образом:

mod lifetime;

use lifetime::messages::message_functions::{hello, bye};

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

Сначала указываем, какой внешний файл-модуль будет подключаться:

mod lifetime;

Далее подключаем функции hello и bye из модуля:

use lifetime::messages::message_functions::{hello, bye};

Причем в пути к функциям первым модулем указывается название файла, то есть lifetime, а потом уже те модули, которые определены в файле lifetime.rs.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850