Em [[Rust language|Rust]], o **escopo** de uma variável define a região do seu programa onde essa variável é considerada válida e acessível. Quando você declara uma variável usando `let`, ela entra em escopo a partir do ponto de sua declaração. Ela permanece válida e utilizável até o final do bloco atual, ou "escopo", no qual foi definida. Uma vez que a execução sai desse bloco, a variável sai de escopo e não é mais válida. Considere o seguinte exemplo: ```rust { // 's' não é válido aqui, pois ainda não foi declarado let s = "hello"; // 's' torna-se válido a partir deste ponto // Você pode usar 's' aqui, por exemplo: println!("{}", s); } // Este escopo terminou, e 's' não é mais válido // Tentar usar 's' aqui resultaria em um erro de compilação ``` Em essência, existem dois momentos críticos para a validade de uma variável: 1. **Entrada em escopo**: Quando uma variável é declarada, ela se torna válida e pode ser usada. 2. **Saída de escopo**: Quando o bloco no qual a variável foi declarada termina, a variável sai de escopo e não é mais válida. Essa compreensão fundamental do escopo é crucial em [[Rust language|Rust]], especialmente quando introduzimos tipos como `String` e nos aprofundamos na propriedade.