Option
e Result
Os tipos representam dados opcionais:
fn main() { let numbers = vec![10, 20, 30]; let first: Option<&i8> = numbers.first(); println!("primeiro: {first:?}"); let idx: Result<usize, usize> = numbers.binary_search(&10); println!("ind: {idx:?}"); }
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,