使用Rust

时间:2017-11-29 22:44:36

标签: rust global-variables global

我需要将大量数据存储为不可变变量,每个函数都可以访问它。

最佳方法是使用const DATA: [u64; 1000] = [ 1, 110101, ... ],这是可能的,因为我知道这些数据的样子。由于需要创建大量数据,唯一可行的方法是使用函数初始化常量。这当然不适用于Rust,它可能永远不会,因为我需要在初始化函数中运行循环,甚至在每晚构建中都不支持。

应该可以将main函数中的数据初始化为普通let DATA: [u64; 1000] = ini_fn();。然后我需要为所有子功能提供对这些数据的引用。那有点不方便;如果函数foo3()需要DATA但被foo2()调用,而foo1()调用它由main()调用,我需要借用{ {1}}三次,并且只使用一次。

我正在为这个问题寻找一个更合理的解决方案/相当于这个C代码:

DATA

将这些数据放在堆栈上会更好,因为速度很重要,但我希望数据得到缓存,因此这不是优先事项。

0 个答案:

没有答案