Exploración de la coincidencia de patrones en Rust

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, exploraremos cómo Rust proporciona coincidencia de patrones utilizando la palabra clave match, que funciona de manera similar a una declaración switch en C.

Nota: Si el laboratorio no especifica un nombre de archivo, puede utilizar cualquier nombre de archivo que desee. Por ejemplo, puede utilizar 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/DataTypesGroup(["Data Types"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"]) rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") rust/DataTypesGroup -.-> rust/boolean_type("Boolean Type") rust/DataTypesGroup -.-> rust/string_type("String Type") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers") rust/AdvancedTopicsGroup -.-> rust/operator_overloading("Traits for Operator Overloading") subgraph Lab Skills rust/variable_declarations -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/boolean_type -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/string_type -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/function_syntax -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/expressions_statements -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/lifetime_specifiers -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} rust/operator_overloading -.-> lab-99309{{"Exploración de la coincidencia de patrones en Rust"}} end

match

Rust proporciona coincidencia de patrones a través de la palabra clave match, que se puede utilizar como un switch en C. La primera rama de coincidencia se evalúa y todos los valores posibles deben estar cubiertos.

fn main() {
    let number = 13;
    // TODO ^ Intenta diferentes valores para `number`

    println!("Dime algo sobre {}", number);
    match number {
        // Coincide con un solo valor
        1 => println!("Uno!"),
        // Coincide con varios valores
        2 | 3 | 5 | 7 | 11 => println!("Este es un número primo"),
        // TODO ^ Intenta agregar 13 a la lista de valores primos
        // Coincide con un rango inclusivo
        13..=19 => println!("Un adolescente"),
        // Maneja el resto de los casos
        _ => println!("No es especial"),
        // TODO ^ Intenta comentar esta rama general
    }

    let boolean = true;
    // Match es una expresión también
    let binary = match boolean {
        // Las ramas de un match deben cubrir todos los valores posibles
        false => 0,
        true => 1,
        // TODO ^ Intenta comentar una de estas ramas
    };

    println!("{} -> {}", boolean, binary);
}

Resumen

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