Blocos e Escopos

Blocos

Um bloco em Rust contêm uma sequência de expressões, delimitadas por chaves {}. Cada bloco tem um valor e um tipo, que são os da última expressão do bloco:

fn main() {
    let z = 13;
    let x = {
        let y = 10;
        println!("y: {y}");
        z - y
    };
    println!("x: {x}");
}

Se a última expressão terminar com ;, o valor resultante e o tipo será ().

This slide and its sub-slides should take about 5 minutes.
  • Você pode mostrar como o valor do bloco muda alterando a última linha do bloco. Por exemplo, adicionar/remover um ponto e vírgula (;) ou usar um return.