Module std::slice1.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

ArrayChunksExperimental

在 (non-overlapping) 块 (一次 N 元素) 中的切片上进行迭代,从切片的开头开始。

ArrayChunksMutExperimental

在 (non-overlapping) 可变块 (一次 N 元素) 中的切片上进行迭代,从切片的开头开始。

ArrayWindowsExperimental

在切片上以重叠块 (一次 N 个元素) 的方式在切片上进行窗口化的迭代器,从切片的开头开始

EscapeAsciiExperimental

一个字节的转义版本的迭代器。

GroupByExperimental

(non-overlapping) 块中由谓词分隔的切片上的迭代器。

GroupByMutExperimental

在 (non-overlapping) 可变块中由谓词分隔的切片上的迭代器。

在 (non-overlapping) 块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的开头开始。

在 (non-overlapping) 块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的开头开始。

在 (non-overlapping) 可变块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的开头开始。

在 (non-overlapping) 可变块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的开头开始。

不可变切片迭代器

可变切片迭代器。

在 (non-overlapping) 块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的末尾开始。

在 (non-overlapping) 块 (一次 chunk_size 元素) 中的切片上进行迭代,从切片的末尾开始。

从切片末尾开始,在 (non-overlapping) 可变块 (一次 chunk_size 个元素) 中的切片上进行迭代。

从切片末尾开始,在 (non-overlapping) 可变块 (一次 chunk_size 个元素) 中的切片上进行迭代。

从切片的末尾开始,由与谓词函数匹配的元素分隔的子切片上的迭代器。

vector 的子切片上的迭代器,该迭代器由与 pred 匹配的元素分隔,从切片的末尾开始。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,从切片的末尾开始,并限于给定的拆分数。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,从切片的末尾开始,并限于给定的拆分数。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔。 与 Split 不同,它包含匹配的部分作为子切片的终止符。

vector 的可变子切片上的迭代器,该子切片由与 pred 匹配的元素分隔。 与 SplitMut 不同,它在子切片的末尾包含匹配的部分。

vector 的可变子切片上的迭代器,该子切片由与 pred 匹配的元素分隔。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,限于给定的拆分数。

在子切片上进行迭代的迭代器,这些子切片由与谓词函数匹配的元素分隔,限于给定的拆分数。

长度为 size 的重叠子切片上的迭代器。

Traits

ConcatExperimental

[T]::concat 的辅助程序 trait。

JoinExperimental

[T]::join 的辅助 trait

用于索引操作的辅助 trait。

Functions

rangeExperimental

执行范围的边界检查。

将引用转换为 T 转换为长度为 1 的切片 (不进行复制)。

根据指针和长度形成切片。

执行与 from_raw_parts 相同的功能,除了返回可变切片。

将引用转换为 T 转换为长度为 1 的切片 (不进行复制)。