2022-07-14 11:34:50 -04:00
|
|
|
# Options
|
2020-03-05 15:52:54 -05:00
|
|
|
|
2023-03-30 12:23:22 -04:00
|
|
|
Type Option represents an optional value: every Option is either Some and contains a value, or None, and does not.
|
2021-04-23 13:54:31 -04:00
|
|
|
Option types are very common in Rust code, as they have a number of uses:
|
2023-03-30 12:23:22 -04:00
|
|
|
|
2021-04-23 13:54:31 -04:00
|
|
|
- Initial values
|
|
|
|
- Return values for functions that are not defined over their entire input range (partial functions)
|
|
|
|
- Return value for otherwise reporting simple errors, where None is returned on error
|
|
|
|
- Optional struct fields
|
|
|
|
- Struct fields that can be loaned or "taken"
|
|
|
|
- Optional function arguments
|
|
|
|
- Nullable pointers
|
|
|
|
- Swapping things out of difficult situations
|
2020-03-05 15:52:54 -05:00
|
|
|
|
2021-04-23 13:54:31 -04:00
|
|
|
## Further Information
|
2020-03-05 15:52:54 -05:00
|
|
|
|
2024-07-08 10:00:12 -04:00
|
|
|
- [Option Enum Format](https://doc.rust-lang.org/book/ch10-01-syntax.html#in-enum-definitions)
|
2020-03-05 15:52:54 -05:00
|
|
|
- [Option Module Documentation](https://doc.rust-lang.org/std/option/)
|
|
|
|
- [Option Enum Documentation](https://doc.rust-lang.org/std/option/enum.Option.html)
|
2021-04-24 06:12:49 -04:00
|
|
|
- [if let](https://doc.rust-lang.org/rust-by-example/flow_control/if_let.html)
|
|
|
|
- [while let](https://doc.rust-lang.org/rust-by-example/flow_control/while_let.html)
|