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:?}"); }
Option
eResult
sã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_search
retornaResult<usize, usize>
.- Se encontrado,
Result::Ok
contém o índice onde o elemento foi encontrado. - Caso contrário,
Result::Err
contém o índice onde tal elemento deve ser inserido.
- Se encontrado,