是否有一种在Rust中初始化数组的惯用方法.我正在创建一个随机数数组,我想知道是否有一种比只做for循环更惯用的方法.我当前的代码运行良好,但看起来更像C,而不是正确的Rust :

let mut my_array: [u64; 8] = [0; 8];
for i in 0..my_array.len() {
    my_array[i] = some_function();
}

推荐答案

Various sized arrays个可直接随机生成:

use rand; // 0.7.3

fn main() {
    let my_array: [u64; 8] = rand::random();
    println!("{:?}", my_array);
}

目前,这只适用于大小从0到32(含)的array.除此之外,你还想看到相关问题:

Rust相关问答推荐

如何从Rust记录WASM堆内存使用情况?

访问Rust中的隐藏变量

使用pyo3::Types::PyIterator的无限内存使用量

有没有办法模仿对象安全克隆?

如何在Bevy/Rapier3D中获得碰撞机的计算质量?

try 创建随机数以常量

如何修复&q;无法返回引用函数参数的值在异步规则中返回引用当前函数&q;拥有的数据的值?

为什么特征默认没有调整大小?

Const 上下文:从 init 函数创建具有 const 通用长度的数组

如何从宏调用闭包?

如何以与平台无关的方式将OsString转换为utf-8编码的字符串?

`use` 和 `crate` 关键字在 Rust 项目中效果不佳

为什么Rust编译器会忽略模板参数应具有静态生命周期?

从Rust 的临时文件中创建引用是什么意思?

str 和 String 的 Rust 生命周期

如何在 Rust 中将 Vec> 转换为 Vec>?

C++ 中的 CRTP 是一种表达其他语言中特征和/或 ADT 的方法吗?

在传输不可复制的值时实现就地枚举修改

返回 &str 但不是 String 时,borrow 时间比预期长

在同一向量 Rust 中用另一个字符串扩展一个字符串