Option e Result
Os tipos representam dados opcionais:
fn main() { let numeros = vec![10, 20, 30]; let primeiro: Option<&i8> = numeros.first(); println!("primeiro: {primeiro:?}"); let ind: Result<usize, usize> = numeros.binary_search(&10); println!("ind: {ind:?}"); }
OptioneResultsão amplamente usados não apenas na biblioteca padrão.Option<&T>não tem nenhum custo adicional de espaço em comparação com&T.Resulté o tipo padrão para implementar tratamento de erros, como veremos no Dia 3.binary_searchretornaResult<usize, usize>.- Se encontrado,
Result::Okcontém o índice onde o elemento foi encontrado. - Caso contrário,
Result::Errcontém o índice onde tal elemento deve ser inserido.
- Se encontrado,