我想创建一个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
E填充它,但我不想这样做,因为当我在索引i
处写入一个值时,我并不总是知道是否已经在那里插入了一个值.出于明显的性能原因,我不想写这样的东西:
if i >= len(v) {
v.push(x);
} else {
v[i] = x;
}
当然,我也不能使用vec!
语法.