O que é unwrap() em Rust e para que é usado? Explique com um exemplo
Olá! Acabei de começar a aprender Rust e vejo constantemente em código alheio a chamada do método `.unwrap()`. Por exemplo, ao ler um arquivo ou fazer parse de um número a partir de uma string. Entendo que isso está relacionado a erros, mas não compreendo completamente.
Aqui está um exemplo que encontrei na documentação:
```rust
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("hello.txt").unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
println!("{}", contents);
}
```
O que `unwrap()` faz aqui? Por que não posso simplesmente obter o valor sem ele? E o que acontece se o arquivo não existir? Ouvi dizer que iniciantes são aconselhados a não usar `unwrap()` em código de produção, mas então como tratar essas situações corretamente? Explique, por favor, com exemplos claros, o que é `unwrap()` e quando posso usá-lo, e quando é melhor evitá-lo.
<<>>
O que é unwrap() e como funciona
unwrap() é um método defin