Function alloc::slice::range [−][src]
pub fn range<R>(range: R, bounds: RangeTo<usize>) -> Range<usize> where
R: RangeBounds<usize>,
Expand description
执行范围的边界检查。
对于切片,此方法类似于 Index::index
,但是它返回的 Range
等效于 range
。
您可以使用此方法将任何范围转换为 start
和 end
值。
bounds
是用于边界检查的切片的范围。
它应该是 RangeTo
范围,以切片的长度结尾。
对于给定范围的切片,返回的 Range
可以安全地传递到 slice::get_unchecked
和 slice::get_unchecked_mut
。
Panics
如果 range
越界,则为 Panics。
Examples
#![feature(slice_range)] use std::slice; let v = [10, 40, 30]; assert_eq!(1..2, slice::range(1..2, ..v.len())); assert_eq!(0..2, slice::range(..2, ..v.len())); assert_eq!(1..3, slice::range(1.., ..v.len()));Run
当 Index::index
将为 panic 时为 Panics:
ⓘ
#![feature(slice_range)] use std::slice; slice::range(2..1, ..3);Run
ⓘ
#![feature(slice_range)] use std::slice; slice::range(1..4, ..3);Run
ⓘ
#![feature(slice_range)] use std::slice; slice::range(1..=usize::MAX, ..3);Run