Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

切片类型

Syntax
SliceType[ Type ]

切片是一种 动态大小类型 ,表示一个 T 类型元素序列的 ‘视图’ 。切片类型写作 [T]

切片类型通常通过指针类型使用。例如:

  • &[T]: 一个 ‘共享切片’ ,通常只被称为 ‘切片’ 。它不拥有它指向的数据;它借用它。
  • &mut [T]: 一个 ‘可变切片’ 。它可变地借用它指向的数据。
  • Box<[T]>: 一个 ‘装箱切片’

示例:

#![allow(unused)]
fn main() {
// 一个堆分配的数组, 隐式类型转换 为切片
let boxed_array: Box<[i32]> = Box::new([1, 2, 3]);

// 一个指向数组的 (共享) 切片
let slice: &[i32] = &boxed_array[..];
}

切片的所有元素总是被初始化的,并且在安全方法和运算符中访问切片总是会进行边界检查。