我的程序包含大量具有恒定输出的预计算。我想避免在下次运行程序时运行此预计算。因此,我想在程序第一次运行时将其输出保存到文件中,并在下次运行程序时加载它。
输出包含我自己定义的非常见数据类型、对象和结构。
我该如何去做呢?
我正在尝试实现迭代 SHA256。这有效:
use sha2::{Digest, Sha256}; // 0.8.2
fn main() {
let preimage = [42; 80];
let hash = Sha256::digest(&Sha256::digest(&preimage));
}
Run Code Online (Sandbox Code Playgroud)
这不会:
use sha2::{Digest, Sha256}; // 0.8.2
fn main() {
let preimage = [42; 80];
let mut hash = preimage;
for _ in 0..2 {
hash = Sha256::digest(&hash);
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
use sha2::{Digest, Sha256}; // 0.8.2
fn main() {
let preimage = [42; 80];
let hash = Sha256::digest(&Sha256::digest(&preimage));
}
Run Code Online (Sandbox Code Playgroud)
我想要第二种风格,这样我就可以轻松地重复两次以上。
rust ×2