如何在 Rust 中创建指定大小的零向量?
大家好!我刚开始学习 Rust,遇到了一个看似简单的问题:我需要创建一个指定大小的、填充为零的向量(Vec)。在 Python 中我会写 `[0] * n`,在 C++ 中写 `std::vector v(n, 0)`,但在 Rust 中我找不到直接的对应方法。
我尝试了几种方式,但要么不行,要么看起来很奇怪。例如:
```rust
let size = 10;
let my_vec: Vec = vec![0; size]; // 这能编译,但正确吗?
```
另外我在文档中看到了 `with_capacity` 方法,但它似乎只是预留内存,并不填充内容:
```rust
let mut my_vec: Vec = Vec::with_capacity(size);
// my_vec.len() 仍然是 0
```
我需要向量在创建后立即包含恰好 N 个零,以便我可以按索引访问元素而不会引发 panic。在我的实际任务中,我想创建一个用于存储计算结果的向量——例如,一个包含 1000 个元素的向量,然后我将在循环中填充它。
请告诉我如何正确且