什么是 Option?
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 35 课,共 66 课。
编程时,你经常会遇到某个值可能存在,也可能不存在的情况。例如,在列表中搜索某个项时,可能会找到它,也可能根本找不到。传统编程语言通常使用 null 或 -1 这样的特殊值来表示“没有”,但这种做法可能导致 bug 和崩溃。
Rust 采用了不同的方法,使用 Option<T> 枚举。这是一种内置类型,明确表示值可能不存在。Rust 不会让你猜测值是否存在,而是要求你事先处理这两种情况。
Option 枚举恰好有两个变体:
Some(value) // 包含一个值
None // 不包含值当函数可能不会返回值时,它会返回一个 Option。如果有值要返回,它会将其包装在 Some 中。如果没有值,它会返回 None。
这会在类型系统中明确表示该值可能不存在,从而避免你意外使用不存在的值。
你已经见过 Option 在哈希映射的 .get() 方法中的实际用法:键存在时,它会返回 Some(&value),键不存在时则返回 None。这种模式在 Rust 中随处可见,让你的代码更安全、更可预测。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Rust 在线编译器