mirror of
https://github.com/google/comprehensive-rust.git
synced 2024-12-16 23:08:36 +02:00
758 B
758 B
Option
and Result
The types represent optional data:
fn main() {
let numbers = vec![10, 20, 30];
let first: Option<&i8> = numbers.first();
println!("first: {first:?}");
let idx: Result<usize, usize> = numbers.binary_search(&10);
println!("idx: {idx:?}");
}
Option
andResult
are widely used not just in the standard library.Option<&T>
has zero space overhead compared to&T
.Result
is the standard type to implement error handling as we will see on Day 3.binary_search
returnsResult<usize, usize>
.- If found,
Result::Ok
holds the index where the element is found. - Otherwise,
Result::Err
contains the index where such an element should be inserted.
- If found,