切片类型
slice.md
commit: b0e0ad6490d6517c19546b1023948986578fc378
本章译文最后维护日期:2020-11-14
句法
SliceType :
[
Type]
切片是一种动态尺寸类型(dynamically sized type),它代表类型为 T
的元素组成的数据序列的一个“视图(view)”。切片类型写为 [T]
。
要使用切片类型,通常必须放在指针后面使用,例如:
&[T]
,共享切片('shared slice'),常被直接称为切片(slice
),它不拥有它指向的数据,只是借用。&mut [T]
,可变切片('mutable slice'),可变借用它指向的数据。Box<[T]>
, boxed切片('boxed slice')。
示例:
#![allow(unused)] fn main() { // 一个堆分配的数组,被自动强转成切片 let boxed_array: Box<[i32]> = Box::new([1, 2, 3]); // 数组上的(共享)切片 let slice: &[i32] = &boxed_array[..]; }
切片的所有元素总是初始化过的,使用 Rust 中的安全(safe)方法或操作符来访问切片时总是会做越界检查。