Menu
Coddy logo textTech

If-Else

Parte da seção Fundamentals do Journey de Rust da Coddy — lição 25 de 75.

if nos permite executar um código específico se uma condição for atendida, mas e se quisermos executar outra coisa se a condição não for atendida?

Para isso, temos a instrução else:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

No exemplo acima, age é menor que 18, o que significa que ele entra no código else e status conterá "Young".

Podemos até torná-lo mais profundo usando a instrução else if:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

Aqui ele verifica se age é menor que 18, caso contrário, continuará para a próxima condição e verificará se age está entre 18 e 65. Se essa condição também não for atendida, ele definirá status como "Old".

Podemos adicionar quantas instruções else if quisermos:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}
...
challenge icon

Desafio

Iniciante

Você recebeu um código que recebe como entrada um número que indica a velocidade do vento e o armazena em uma variável chamada wind.

Nota: aprenderemos nas próximas lições como obter entrada do usuário, por enquanto apenas não toque nas primeiras linhas.

 

Sua tarefa é inicializar a variável status com base nas condições:

  • "Calm" se wind for menor que 8,
  • "Breeze" se wind estiver entre 8 e 31 (incluindo 8 e 31).
  • "Gale" se wind estiver entre 32 e 63 (incluindo 32 e 63)
  • "Storm" caso contrário

Verifique os casos de teste para ver todas as entradas e as saídas esperadas

Folha de consulta

Use else para executar código quando a condição do if não for atendida:

let age: i32 = 15;
let status = if age >= 18 {
    "Adult"
} else {
    "Young"
};

Use else if para verificar múltiplas condições:

let age: i32 = 68;
let status = if age < 18 {
    "Young"
} else if age >= 18 && age <= 65 {
    "Adult"
} else {
    "Old"
};

Você pode encadear múltiplas instruções else if:

if condition1 {
    code;
} else if condition2 {
    code;
} else if condition3 {
    code;
}

Experimente você mesmo

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let wind: i32 = input.trim().parse().unwrap();
    // Substitua a linha abaixo por uma expressão if-else que atribui o status com base no vento (wind)
    let status = "unset";
    
    // Não altere a linha abaixo
    println!("status = {}", status);
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals