Avatar ·

如何在 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 个元素的向量,然后我将在循环中填充它。 请告诉我如何正确且