示例程序:

    1. fn main() {
    2. let s = String::from("yuyoubei");
    3. let bytes = s.as_bytes();
    4. for (i, &item) in bytes.iter().enumerate() {
    5. println!("{} {}", i, item as char);
    6. }
    7. }

    输出结果:

    1. 0 y
    2. 1 u
    3. 2 y
    4. 3 o
    5. 4 u
    6. 5 b
    7. 6 e
    8. 7 i

    这段代码首先使用 as_bytes 将 String 转为字节数组。

    接着,我们使用 iter 方法创建了一个可以遍历字节数组的迭代器。iter 方法会依次返回集合中的每一个元素。

    之后的 enumerate 则将 iter 的每个输出作为元素逐一封装在对应的元组中返回。元组的第一个元素是索引,第二个元素是指向集合中字节的引用,使用 enumerate 可以较方便地获得迭代索引。