Avatar ·

在Rust中创建指定大小的零向量

大家好!我刚开始学习Rust,遇到了一个问题。我需要创建一个指定大小的向量(Vec),并用零填充。在其他语言中,比如Python,我只需写 `[0] * n`,而在C++中则是 `std::vector v(n, 0)`。但在Rust中,我找不到直接对应的写法。 我尝试了几种方法,但都不行,或者出现编译错误。例如: ```rust let v = vec![0; 5]; // 这对Copy类型有效,但我需要f64 let v2: Vec = vec![0; 5]; // 错误:期望f64,找到整数 ``` 我也尝试用 `Vec::with_capacity(5)` 创建向量,然后在循环中填充,但这似乎太冗长了。有没有像其他语言那样更优雅的方式?我需要创建一个包含1000个 `f64` 类型元素的向量,全部为零。提前感谢帮助! <<>>

使用vec!宏并显式指定类型

你代码的主要问题是Rust是强类型语言,字面量 0