Option — value or none. Result — success or error.
Option:
1fn find(haystack: &str, needle: char) -> Option<usize> {2 for (i, c) in haystack.chars().enumerate() {3 if c == needle {4 return Some(i);5 }6 }7 None8}
Result:
1use std::fs::File;23fn open_file(path: &str) -> Result<File, std::io::Error> {4 File::open(path)5}
Key differences: