概述: 通常用于集合类型(如Vec、HashMap等)来移除并返回集合中的元素。就是会在遍历过程中将这些元素从集合中移除,使用drain可以避免在移除元素时进行多次分配内存和拷贝的操作,从而提高性能。
示例:
let mut vec = vec![1, 2, 3, 4, 5];
let drained_elements: Vec<_> = vec.drain(..).collect();
println!("{:?}", drained_elements); // 输出: [1, 2, 3, 4, 5]
println!("{:?}", vec); // 输出: []