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;
}
...Desafio
InicianteVocê 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"sewindfor menor que8,"Breeze"sewindestiver entre8e31(incluindo 8 e 31)."Gale"sewindestiver entre32e63(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);
}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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Entrada e Saída Básica
Exibindo no ConsoleLendo a Entrada do UsuárioRevisão - Até 120Revisão - Verdadeiro ou Falso5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaInferência de TipoRecapitulação - Inicializar VariáveisConversão de Tipo9Laços
For sobre SériesLaço WhileBreakContinueLaços AninhadosRótulos de LoopLoop InfinitoRecapitulação - Entrada Dinâmica