Menu
CoddyTech

什么是 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 中随处可见,让你的代码更安全、更可预测。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Rust 在线编译器