arrays - 如何使用函数初始化数组?

标签 arrays vector rust

<分区>

我想在 Rust 中创建一个包含 10 个空向量的数组,但是 [Vec::new(); 10] 不起作用,因为 Vec 没有实现 Copy。我该怎么做,更一般地说,我如何通过重复调用函数来初始化数组?

最佳答案

自 Rust 1.55.0 起,2021 年 9 月

您可以使用 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/

相关文章:

iterator - Vec <Vec <(K,V)>>的可变迭代器

rust - 为什么从 HashMap 获取值时需要双符号?

javascript - 是的架构。如何仅验证 Yup Schema 中数组的第一个元素

javascript - 使 javascript 数组中的值之间的距离彼此相等

c++ - 如果指针可以在运行时动态改变数组的大小,为什么还要用一个大小来初始化数组呢?

c++ - 通过头文件 C++ 使用多个结构

javascript - 使用正则表达式删除连续的重复字符

c++ - 将卡片的 vector 传递给功能以打印和使用?

c++ - 带有 memset_s 分配器的 std::vector

rust - 如何通过 LanguageClient-neovim 配置 Rust 语言服务器?