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


Rust slice.split_at_unchecked用法及代码示例


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

用法

pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

在索引处将一个切片分成两个,而不进行边界检查。

第一个将包含来自[0, mid) 的所有索引(不包括索引mid 本身),第二个将包含来自[mid, len) 的所有索引(不包括索引len 本身)。

有关安全的替代方案,请参阅 split_at

安全性

使用越界索引调用此方法是未定义的行为即使不使用生成的参考。调用者必须确保0 <= mid <= self.len().

例子

#![feature(slice_split_at_unchecked)]

let v = [1, 2, 3, 4, 5, 6];

unsafe {
   let (left, right) = v.split_at_unchecked(0);
   assert_eq!(left, []);
   assert_eq!(right, [1, 2, 3, 4, 5, 6]);
}

unsafe {
    let (left, right) = v.split_at_unchecked(2);
    assert_eq!(left, [1, 2]);
    assert_eq!(right, [3, 4, 5, 6]);
}

unsafe {
    let (left, right) = v.split_at_unchecked(6);
    assert_eq!(left, [1, 2, 3, 4, 5, 6]);
    assert_eq!(right, []);
}

相关用法


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