示例程序:
fn main() {
let s = String::from("yuyoubei");
let bytes = s.as_bytes();
for (i, &item) in bytes.iter().enumerate() {
println!("{} {}", i, item as char);
}
}
輸出結果:
0 y
1 u
2 y
3 o
4 u
5 b
6 e
7 i
這段代碼首先使用 as_bytes 將 String 轉為字節數組。
接着,我們使用 iter 方法創建了一個可以遍歷字節數組的迭代器。iter 方法會依次返回集合中的每一個元素。
之后的 enumerate 則將 iter 的每個輸出作為元素逐一封裝在對應的元組中返回。元組的第一個元素是索引,第二個元素是指向集合中字節的引用,使用 enumerate 可以較方便地獲得迭代索引。