第 19 课2026.09.23
在借用的分数切片中找出第一个目标分数的位置。
第 19 课:查找切片中的元素位置
- 日期:2026-09-23
- 课程序号:第 19 课
- 知识点:
Iterator::position
用途或适用场景
在借用的分数切片中找出第一个目标分数的位置。
核心概念
iter().position(...) 返回 Option<usize>;找到时是从 0 开始的索引,未找到时是 None,无需先复制切片。
最小代码或操作示例
rust
fn first_position(values: &[i32], target: i32) -> Option<usize> {
values.iter().position(|value| *value == target)
}
fn main() {
let scores = [3, 8, 5];
assert_eq!(first_position(&scores, 8), Some(1));
assert_eq!(first_position(&scores, 9), None);
}3~5 分钟练习
给 scores 末尾再加一个 8,观察返回位置。
参考答案
仍返回 Some(1);position 找到第一个匹配项就停止。
与上一课的联系
沿用第 18 课的整数切片、目标值及 Option 的有值/无值语义;上课的 find 返回匹配值,本课只改用 position 返回首次匹配位置;下一课可查找最后一次匹配的位置。
时效校验
时效校验:2026-09-24(已重新打开 Rust 1.98.1 标准库 Iterator::position 文档;该方法自 1.0.0 可用,未见废弃标记)。