关于rust:是否有比for循环更惯用的方法来初始化具有随机数的数组?

Is there a more idiomatic way to initialize an array with random numbers than a for loop?

是否有一种惯用的方法在Rust中初始化数组。 我正在创建一个随机数数组,并且想知道是否有一种更惯用的方法,然后才进行for循环。 我当前的代码工作正常,但似乎更像是C而不是正确的Rust:

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


各种大小的数组可以直接随机生成:

1
2
3
4
5
6
use rand; // 0.7.3

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

当前,这仅适用于大小从0到32(含)的数组。 除此之外,您将希望看到相关的问题:

  • 如何使用函数初始化数组?
  • 初始化固定长度数组的正确方法是什么?