Espaciado de nombres en Rust con la declaración use

RustRustBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, la declaración use se utiliza para eliminar la necesidad de un alcance manual en Rust y hacer que los nombres estén disponibles sin especificar explícitamente el espacio de nombres.

Nota: Si el laboratorio no especifica un nombre de archivo, puede usar cualquier nombre de archivo que desee. Por ejemplo, puede usar main.rs, compilar y ejecutarlo con rustc main.rs &&./main.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") subgraph Lab Skills rust/variable_declarations -.-> lab-99245{{"Espaciado de nombres en Rust con la declaración use"}} rust/function_syntax -.-> lab-99245{{"Espaciado de nombres en Rust con la declaración use"}} rust/expressions_statements -.-> lab-99245{{"Espaciado de nombres en Rust con la declaración use"}} end

use

La declaración use se puede utilizar para que no sea necesario un alcance manual:

// Un atributo para ocultar advertencias de código no utilizado.
#![allow(dead_code)]

enum Status {
    Rich,
    Poor,
}

enum Work {
    Civilian,
    Soldier,
}

fn main() {
    // Explicitamente `use` cada nombre para que estén disponibles sin
    // alcance manual.
    use crate::Status::{Poor, Rich};
    // Automáticamente `use` cada nombre dentro de `Work`.
    use crate::Work::*;

    // Equivalente a `Status::Poor`.
    let status = Poor;
    // Equivalente a `Work::Civilian`.
    let work = Civilian;

    match status {
        // Observe la falta de alcance debido al `use` explícito anterior.
        Rich => println!("Los ricos tienen mucho dinero!"),
        Poor => println!("Los pobres no tienen dinero..."),
    }

    match work {
        // Observe nuevamente la falta de alcance.
        Civilian => println!("Los civiles trabajan!"),
        Soldier  => println!("Los soldados pelean!"),
    }
}

Resumen

¡Felicitaciones! Has completado el laboratorio de Use. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.