Skip to content

G.TYP.SLC.01 宜使用迭代器而非下标遍历切片和数组

【级别】 建议

【描述】

在 for 循环中使用索引下标访问有可能导致边界错误。 遍历切片和数组时,宜使用迭代器来避免索引访问。

【反例】

Rust
let list: &[&str] = &["aa", "bb", "cc"];

// 不符合:人工计算长度选择范围很可能会出错
for i in 0..list.len() { 
  let item = list[i];
  // ...
}

【正例】

Rust
let list: &[&str] = &["aa", "bb", "cc"];

// 符合
for item in list {
  // ...
}