當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。