我想创建一个 Vec<T>
并为它腾出一些空间,但我不知道该如何做,令我惊讶的是,在官方文档中几乎没有关于这个基本类型的介绍。
let mut v: Vec<i32> = Vec<i32>(SIZE); // How do I do this ?
for i in 0..SIZE {
v[i] = i;
}
我知道我可以创建一个空的Vec<T>
并用push
填充它,但是我不想这样做,因为写入索引i处的值时,我不总是知道是否已经插入了一个值。出于明显的性能原因,我不想编写以下内容:
if i >= len(v) {
v.push(x);
} else {
v[i] = x;
}
当然,我也不能使用vec!
语法。