第 23 课2026.09.30
把上一课组合出的索引和值转换成可显示文本。
第 23 课:转换组合后的匹配结果
- 日期:2026-09-30
- 课程序号:第 23 课
- 知识点:
Option::map
用途或适用场景
把上一课组合出的索引和值转换成可显示文本。
核心概念
map 只在 Some 时执行闭包,None 会原样传播。
最小代码或操作示例
rust
let scores = [3, 8, 5, 8];
let result = scores.iter().rposition(|&x| x == 8)
.and_then(|i| scores.get(i).map(|v| (i, v)))
.map(|(i, v)| format!("{i}:{v}"));
assert_eq!(result.as_deref(), Some("3:8"));3~5 分钟练习
把目标改为 9,断言结果。
参考答案
找不到索引,后续闭包不执行,结果为 None。
与上一课的联系
第 22 课组合了位置和值;本课只新增 map 转换组合结果;下一课可用 unwrap_or 提供缺失文案。
时效校验
时效校验:2026-09-30(Rust 1.98.1;Option::map 自 1.0.0 可用,未见废弃标记。)