Instrucciones Condicionales 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, aprendemos a usar declaraciones if-else en Rust. Al igual que en otros lenguajes de programación, las declaraciones if-else en Rust no requieren paréntesis alrededor de la condición y cada condición está seguida de un bloque de código. Estas condicionales son expresiones, por lo que todas las ramas deben devolver el mismo tipo. Dentro del ejemplo de código proporcionado, primero comprobamos si la variable n es menor que 0, y si es así, imprime que n es negativa. Si n no es menor que 0, entonces comprobamos si es mayor que 0 e imprimimos que n es positiva. Finalmente, si ninguna de las condiciones anteriores se cumple, imprimimos que n es cero. Otro ejemplo demuestra cómo la declaración if-else se puede usar como una expresión para asignar un nuevo valor a la variable big_n. Si n está entre -10 y 10, imprime que n es un número pequeño y asigna 10 * n a big_n. De lo contrario, imprime que n es un número grande y asigna n / 2 a big_n. La salida final de n y big_n se imprime al final.

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/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"]) rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"]) rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"]) rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") rust/DataTypesGroup -.-> rust/integer_types("Integer Types") rust/DataTypesGroup -.-> rust/type_casting("Type Conversion and Casting") 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-99303{{"Instrucciones Condicionales en Rust"}} rust/integer_types -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} rust/type_casting -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} rust/function_syntax -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} rust/expressions_statements -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} rust/lifetime_specifiers -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} rust/operator_overloading -.-> lab-99303{{"Instrucciones Condicionales en Rust"}} end

if/else

La bifurcación con if-else es similar a otros lenguajes. A diferencia de muchos de ellos, la condición booleana no necesita estar rodeada de paréntesis y cada condición está seguida de un bloque. Las condicionales if-else son expresiones y todas las ramas deben devolver el mismo tipo.

fn main() {
    let n = 5;

    if n < 0 {
        print!("{} es negativo", n);
    } else if n > 0 {
        print!("{} es positivo", n);
    } else {
        print!("{} es cero", n);
    }

    let big_n =
        if n < 10 && n > -10 {
            println!(", y es un número pequeño, multiplíquelo por diez");

            // Esta expresión devuelve un `i32`.
            10 * n
        } else {
            println!(", y es un número grande, divídalo por dos");

            // Esta expresión también debe devolver un `i32`.
            n / 2
            // TODO ^ Intente suprimir esta expresión con un punto y coma.
        };
    //   ^ No olvide poner un punto y coma aquí. Todas las asignaciones `let` lo necesitan.

    println!("{} -> {}", n, big_n);
}

Resumen

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