Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Модули

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

Аналогично mod позволяет задавать пространство имён типам и функциям:

// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0

mod foo {
    pub fn do_something() {
        println!("In the foo module");
    }
}

mod bar {
    pub fn do_something() {
        println!("In the bar module");
    }
}

fn main() {
    foo::do_something();
    bar::do_something();
}
This slide should take about 3 minutes.
  • Пакеты предоставляют функциональность и включают файл Cargo.toml, который описывает, как собрать набор из одного или нескольких крейтов.
  • Крейты — это дерево модулей: бинарный крейт создаёт исполняемый файл, а библиотечный крейт собирается в библиотеку.
  • Модули определяют организацию и область видимости и являются главным предметом этого раздела.