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


Rust slice.chunks_exact用法及代码示例


本文简要介绍rust语言中 slice.chunks_exact 的用法。

用法

pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T>

一次返回切片的chunk_size 元素的迭代器,从切片的开头开始。

块是切片并且不重叠。如果chunk_size 不分割切片的长度,那么最后到chunk_size-1 的元素将被省略,并且可以从迭代器的remainder 函数中检索。

由于每个块都恰好具有 chunk_size 元素,因此编译器通常可以比 chunks 更好地优化生成的代码。

请参阅 chunks 了解此迭代器的变体,该变体也将剩余部分作为较小的块返回,而 rchunks_exact 则用于相同的迭代器,但从切片的末尾开始。

Panics

如果 chunk_size 为 0,则发生Panics。

例子

let slice = ['l', 'o', 'r', 'e', 'm'];
let mut iter = slice.chunks_exact(2);
assert_eq!(iter.next().unwrap(), &['l', 'o']);
assert_eq!(iter.next().unwrap(), &['r', 'e']);
assert!(iter.next().is_none());
assert_eq!(iter.remainder(), &['m']);

相关用法


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