Namespacing em Rust com a Declaração 'use'

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, a declaração use é utilizada para eliminar a necessidade de scoping manual em Rust e tornar os nomes disponíveis sem especificar explicitamente o namespace.

Nota: Se o laboratório não especificar um nome de arquivo, você pode usar qualquer nome de arquivo que desejar. Por exemplo, você pode usar main.rs, compilar e executá-lo com rustc main.rs && ./main.

use

A declaração use pode ser utilizada para que não seja necessário scoping manual:

// An attribute to hide warnings for unused code.
#![allow(dead_code)]

enum Status {
    Rich,
    Poor,
}

enum Work {
    Civilian,
    Soldier,
}

fn main() {
    // Explicitly `use` each name so they are available without
    // manual scoping.
    use crate::Status::{Poor, Rich};
    // Automatically `use` each name inside `Work`.
    use crate::Work::*;

    // Equivalent to `Status::Poor`.
    let status = Poor;
    // Equivalent to `Work::Civilian`.
    let work = Civilian;

    match status {
        // Note the lack of scoping because of the explicit `use` above.
        Rich => println!("The rich have lots of money!"),
        Poor => println!("The poor have no money..."),
    }

    match work {
        // Note again the lack of scoping.
        Civilian => println!("Civilians work!"),
        Soldier  => println!("Soldiers fight!"),
    }
}

Resumo

Parabéns! Você concluiu o laboratório Use. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.