推荐答案
在 Rust 中,可以通过以下几种方式创建 Vec
:
使用
Vec::new()
创建一个空的Vec
:let v: Vec<i32> = Vec::new();
使用
vec!
宏创建一个包含初始元素的Vec
:let v = vec![1, 2, 3];
使用
Vec::with_capacity()
创建一个具有指定容量的空Vec
:let v: Vec<i32> = Vec::with_capacity(10);
使用
Vec::from()
从数组或其他可迭代对象创建Vec
:let v = Vec::from([1, 2, 3]);
本题详细解读
Vec::new()
Vec::new()
是创建一个空 Vec
的最基本方法。由于 Rust 的类型推断机制,通常需要显式指定类型,或者通过后续的操作让编译器推断出类型。
vec!
宏
vec!
宏是创建 Vec
的便捷方式,允许在声明时直接初始化元素。它适用于需要快速创建一个包含已知元素的 Vec
的场景。
Vec::with_capacity()
Vec::with_capacity()
允许你预先分配一定容量的内存空间,以避免在后续添加元素时频繁进行内存分配。这在你知道 Vec
最终大小的情况下非常有用,可以提高性能。
Vec::from()
Vec::from()
可以从数组或其他实现了 IntoIterator
的类型创建 Vec
。这种方式适用于需要将现有数据结构转换为 Vec
的场景。
总结
Rust 提供了多种创建 Vec
的方式,开发者可以根据具体需求选择最合适的方法。无论是需要空 Vec
、预分配容量,还是从现有数据初始化,Rust 都提供了简洁且高效的解决方案。