<分区>
我想在 Rust 中创建一个包含 10 个空向量的数组,但是 [Vec::new(); 10]
不起作用,因为 Vec
没有实现 Copy
。我该怎么做,更一般地说,我如何通过重复调用函数来初始化数组?
<分区>
我想在 Rust 中创建一个包含 10 个空向量的数组,但是 [Vec::new(); 10]
不起作用,因为 Vec
没有实现 Copy
。我该怎么做,更一般地说,我如何通过重复调用函数来初始化数组?
最佳答案
您可以使用 array's .map()
method对于一般功能:
let arr: [Vec<u32>; 10] = [(); 10].map(|_| Vec::with_capacity(100));
(对于 Rust 1.63.0,2022 年 8 月考虑使用 from_fn
)。
关于arrays - 如何使用函数初始化数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925673/