为什么在数组和对数组的引用上调用iter工作?

时间:2018-01-03 02:37:10

标签: reference rust

这两个示例之间的唯一区别是第一个示例在&中有&[1, 2, 4]。两个例子都有效。我试图找到这个原因的文档,但还没有找到任何文档。这是什么原因?将非常感谢文档链接。

示例1:

fn main() {
    let x = &[1, 2, 4];
    let mut iterator = x.iter();
    assert_eq!(iterator.next(), Some(&1));
    assert_eq!(iterator.next(), Some(&2));
    assert_eq!(iterator.next(), Some(&4));
    assert_eq!(iterator.next(), None);
    println!("Ok.");
}

示例2:

fn main() {
    let x = [1, 2, 4];
    let mut iterator = x.iter();
    assert_eq!(iterator.next(), Some(&1));
    assert_eq!(iterator.next(), Some(&2));
    assert_eq!(iterator.next(), Some(&4));
    assert_eq!(iterator.next(), None);
    println!("Ok.");
}

0 个答案:

没有答案