Menu
Coddy logo textTech

Основы модулей

Часть раздела Object Oriented Programming путешествия по Rust на Coddy — урок 8 из 61.

По мере роста ваших программ на Rust хранение всего в одном файле становится неудобным. Система модулей Rust позволяет организовывать код, перемещая структуры и их реализации в отдельные файлы.

Чтобы создать модуль в отдельном файле, вы просто создаете новый файл с желаемым именем модуля. Например, чтобы создать модуль player, вы должны создать файл с именем player.rs:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Чтобы использовать этот модуль в вашем основном файле, вы объявляете его с помощью ключевого слова mod. Это указывает Rust искать файл с таким именем:

// main.rs
mod player;

fn main() {
    // Теперь мы можем получить доступ к элементам из модуля player
}

Декларация mod player; указывает Rust найти и включить содержимое файла player.rs. Представьте это как подключение кода из этого файла к вашей программе. Имя модуля должно точно совпадать с именем файла (без расширения .rs).

Такое разделение позволяет держать связанный код вместе — определение вашей структуры и все её методы находятся в одном отдельном файле, в то время как main.rs по-прежнему отвечает только за точку входа в программу. В следующем уроке вы узнаете, как на самом деле получить доступ к элементам, которые вы разместили в модулях.

Шпаргалка

Чтобы организовать код в отдельные файлы, создайте файл модуля с нужным именем. Например, player.rs:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Чтобы использовать модуль в основном файле, объявите его с помощью ключевого слова mod:

// main.rs
mod player;

fn main() {
    // Содержимое модуля теперь доступно
}

Объявление mod player; указывает Rust найти и включить player.rs. Имя модуля должно точно совпадать с именем файла (без расширения .rs).

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

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

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

Все уроки раздела Object Oriented Programming