当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Iterator.cloned用法及代码示例


本文简要介绍rust语言中 std::iter::Iterator.cloned 的用法。

用法

fn cloned<'a, T>(self) -> Cloned<Self> where    T: 'a + Clone,    Self: Iterator<Item = &'a T>,

创建一个迭代器,其中 clone 是其所有元素。

当您有一个超过 &T 的迭代器时,这很有用,但您需要一个超过 T 的迭代器。

例子

基本用法:

let a = [1, 2, 3];

let v_cloned: Vec<_> = a.iter().cloned().collect();

// cloned is the same as .map(|&x| x), for integers
let v_map: Vec<_> = a.iter().map(|&x| x).collect();

assert_eq!(v_cloned, vec![1, 2, 3]);
assert_eq!(v_map, vec![1, 2, 3]);

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::iter::Iterator.cloned。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。