本文簡要介紹rust語言中 slice.as_chunks_unchecked
的用法。
用法
pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]
假設沒有餘數,將切片拆分為 N
元素數組的切片。
安全性
這隻能在以下情況下調用
- 切片完全拆分為
N
元素塊(又名self.len() % N == 0
)。 N != 0
。
例子
#![feature(slice_as_chunks)]
let slice: &[char] = &['l', 'o', 'r', 'e', 'm', '!'];
let chunks: &[[char; 1]] =
// SAFETY: 1-element chunks never have remainder
unsafe { slice.as_chunks_unchecked() };
assert_eq!(chunks, &[['l'], ['o'], ['r'], ['e'], ['m'], ['!']]);
let chunks: &[[char; 3]] =
// SAFETY: The slice length (6) is a multiple of 3
unsafe { slice.as_chunks_unchecked() };
assert_eq!(chunks, &[['l', 'o', 'r'], ['e', 'm', '!']]);
// These would be unsound:
// let chunks: &[[_; 5]] = slice.as_chunks_unchecked() // The slice length is not a multiple of 5
// let chunks: &[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed
相關用法
- Rust slice.as_chunks_unchecked_mut用法及代碼示例
- Rust slice.as_chunks_mut用法及代碼示例
- Rust slice.as_chunks用法及代碼示例
- Rust slice.as_mut_ptr用法及代碼示例
- Rust slice.as_ptr_range用法及代碼示例
- Rust slice.as_ptr用法及代碼示例
- Rust slice.as_rchunks_mut用法及代碼示例
- Rust slice.as_rchunks用法及代碼示例
- Rust slice.align_to_mut用法及代碼示例
- Rust slice.array_windows用法及代碼示例
- Rust slice.align_to用法及代碼示例
- Rust slice.array_chunks用法及代碼示例
- Rust slice.array_chunks_mut用法及代碼示例
- Rust slice.sort_unstable_by_key用法及代碼示例
- Rust slice.iter_mut用法及代碼示例
- Rust slice.windows用法及代碼示例
- Rust slice.repeat用法及代碼示例
- Rust slice.group_by_mut用法及代碼示例
- Rust slice.fill用法及代碼示例
- Rust slice.sort_unstable_by用法及代碼示例
- Rust slice.sort用法及代碼示例
- Rust slice.rotate_left用法及代碼示例
- Rust slice.swap_unchecked用法及代碼示例
- Rust slice.get_unchecked用法及代碼示例
- Rust slice.split_array_mut用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 slice.as_chunks_unchecked。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。