pub fn range<R>(range: R, bounds: RangeTo<usize>) -> Range<usize> ⓘwhere
R: RangeBounds<usize>,
🔬This is a nightly-only experimental API. (
slice_range
#76393)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: