Module alloc::slice 1.0.0[−][src]
Expand description
动态大小的视图到一个连续的序列, [T].
See also the slice primitive type.
切片是一个内存块的视图,表示为一个指针和一个长度。
// 切片 Vec let vec = vec![1, 2, 3]; let int_slice = &vec[..]; // 将数组强制转换为切片 let str_slice: &[&str] = &["one", "two", "three"];Run
切片是可变的或共享的。
共享切片类型为 &[T],而可变切片类型为 &mut [T],其中 T 表示元素类型。
例如,您可以更改可变切片所指向的内存块:
let x = &mut [1, 2, 3]; x[1] = 7; assert_eq!(x, &[1, 7, 3]);Run
以下是此模块包含的一些内容:
Structs
有几种结构切片可用于切片,例如 Iter,它表示切片上的迭代。
Trait 实现
切片具有常见的 traits 的几种实现。一些示例包括:
Iteration
切片实现 IntoIterator。迭代器产生对切片元素的引用。
let numbers = &[0, 1, 2]; for n in numbers { println!("{} is a number!", n); }Run
可变切片对以下元素产生了可变引用:
let mut scores = [7, 8, 9]; for score in &mut scores[..] { *score += 1; }Run
此迭代器产生对切片元素的可变引用,因此,当切片的元素类型为 i32 时,迭代器的元素类型为 &mut i32。
Structs
| ArrayChunks | Experimental 在 (non-overlapping) 块 (一次   | 
| ArrayChunksMut | Experimental 在 (non-overlapping) 可变块 (一次   | 
| ArrayWindows | Experimental 在切片上以重叠块 (一次   | 
| GroupBy | Experimental (non-overlapping) 块中由谓词分隔的切片上的迭代器。  | 
| GroupByMut | Experimental 在 (non-overlapping) 可变块中由谓词分隔的切片上的迭代器。  | 
| Chunks | 在 (non-overlapping) 块 (一次   | 
| ChunksExact | 在 (non-overlapping) 块 (一次   | 
| ChunksExactMut | 在 (non-overlapping) 可变块 (一次   | 
| ChunksMut | 在 (non-overlapping) 可变块 (一次   | 
| Iter | 不可变切片迭代器  | 
| IterMut | 可变切片迭代器。  | 
| RChunks | 在 (non-overlapping) 块 (一次   | 
| RChunksExact | 在 (non-overlapping) 块 (一次   | 
| RChunksExactMut | 从切片末尾开始,在 (non-overlapping) 可变块 (一次   | 
| RChunksMut | 从切片末尾开始,在 (non-overlapping) 可变块 (一次   | 
| RSplit | 从切片的末尾开始,由与谓词函数匹配的元素分隔的子切片上的迭代器。  | 
| RSplitMut | vector 的子切片上的迭代器,该迭代器由与   | 
| RSplitN | 在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,从切片的末尾开始,并限于给定的拆分数。  | 
| RSplitNMut | 在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,从切片的末尾开始,并限于给定的拆分数。  | 
| Split | 在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔。  | 
| SplitMut | vector 的可变子片段上的迭代器,该子片段由与   | 
| SplitN | 在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,限于给定的拆分数。  | 
| SplitNMut | 在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,限于给定的拆分数。  | 
| Windows | 长度为   | 
Traits
| Concat | Experimental 
  | 
| Join | Experimental 
  | 
| SliceIndex | 帮助程序 trait 用于索引操作。  | 
Functions
| range | Experimental 执行范围的边界检查。  | 
| from_mut | 将引用转换为 T 转换为长度为 1 的切片 (不进行复制)。  | 
| from_raw_parts⚠ | 根据指针和长度形成切片。  | 
| from_raw_parts_mut⚠ | 执行与   | 
| from_ref | 将引用转换为 T 转换为长度为 1 的切片 (不进行复制)。  |