Introdução
Neste laboratório, aprendemos a usar instruções if-else em Rust. Similarmente a outras linguagens de programação, as instruções if-else em Rust não requerem parênteses em torno da condição e cada condição é seguida por um bloco de código. Essas condicionais são expressões, portanto, todos os ramos devem retornar o mesmo tipo. No exemplo de código fornecido, primeiro verificamos se a variável n é menor que 0 e, em caso afirmativo, imprimimos que n é negativo. Se n não for menor que 0, verificamos se é maior que 0 e imprimimos que n é positivo. Finalmente, se nenhuma das condições anteriores for atendida, imprimimos que n é zero. Outro exemplo demonstra como a instrução if-else pode ser usada como uma expressão para atribuir um novo valor à variável big_n. Se n estiver entre -10 e 10, imprime que n é um número pequeno e atribui 10 * n a big_n. Caso contrário, imprime que n é um número grande e atribui n / 2 a big_n. A saída final de n e big_n é impressa no final.
Nota: Se o laboratório não especificar um nome de arquivo, você pode usar qualquer nome de arquivo que desejar. Por exemplo, você pode usar
main.rs, compilar e executar comrustc main.rs && ./main.
if/else
A ramificação com if-else é semelhante a outras linguagens. Ao contrário de muitas delas, a condição booleana não precisa ser envolvida por parênteses, e cada condição é seguida por um bloco. As condicionais if-else são expressões, e todos os ramos devem retornar o mesmo tipo.
fn main() {
let n = 5;
if n < 0 {
print!("{} is negative", n);
} else if n > 0 {
print!("{} is positive", n);
} else {
print!("{} is zero", n);
}
let big_n =
if n < 10 && n > -10 {
println!(", and is a small number, increase ten-fold");
// Esta expressão retorna um `i32`.
10 * n
} else {
println!(", and is a big number, halve the number");
// Esta expressão também deve retornar um `i32`.
n / 2
// TODO ^ Tente suprimir esta expressão com um ponto-e-vírgula.
};
// ^ Não se esqueça de colocar um ponto-e-vírgula aqui! Todas as ligações `let` precisam dele.
println!("{} -> {}", n, big_n);
}
Resumo
Parabéns! Você concluiu o laboratório If/Else. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.