Módulos

Vimos como os blocos impl nos permitem usar namespaces (espaços de nomes) de funções para um tipo.

Da mesma forma, mod nos permite usar namespaces de tipos e funções:

mod foo {
    pub fn do_something() {
        println!("No módulo foo");
    }
}

mod bar {
    pub fn do_something() {
        println!("No módulo bar");
    }
}

fn main() {
    foo::do_something();
    bar::do_something();
}
This slide should take about 3 minutes.
  • Pacotes (packages) fornecem funcionalidades e incluem um arquivo Cargo.toml que descreve como gerar um pacote com um ou mais crates.
  • Crates são arvores de módulos, onde um crate binário cria um executável e um crate de biblioteca é compilado em uma biblioteca.
  • Módulos definem organização, escopo e são o foco desta seção.