gpt4 book ai didi

rust - 在 Rust 中,我如何定义一个全局变量/常量,其值是函数的结果?

转载 作者:行者123 更新时间:2023-11-29 08:29:34 28 4
gpt4 key购买 nike

<分区>

我有一个不带参数的函数,它构建并返回一个 Vec,并且相应的结果总是相同的。我只想调用该函数一次并将其结果存储在我程序中的所有函数都可以访问的全局变量或常量中。我怎么做 ?我的第一个尝试是尝试定义一个 const 或一个 static,但这是不允许的:

error[E0015]: calls in statics are limited to struct and enum constructors
--> src/main.rs:2:30
|
2 | static ALL: Vec<Knowledge> = Knowledge::all();
| ^^^^^^^^^^^^^^^^
|
note: a limited form of compile-time function evaluation is available on a nightly compiler via `const fn`
--> src/main.rs:2:30
|
2 | static ALL: Vec<Knowledge> = Knowledge::all();
| ^^^^^^^^^^^^^^^^

在函数外使用 let 也不起作用。我应该怎么做?是的,错误消息说我可以每晚使用,但我不想那样做,我更喜欢使用语言的规范版本。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com