我试图在服务启动时从系统环境加载密码和敏感数据.我try 了很多不同的方法,但似乎找不到正确的方法来解决这个问题.
const PASSWORD: String = var("PASSWORD").unwrap();
不起作用,因为method calls in constants are limited to constant inherent methods
.同样的情况也适用于static
(显然,除了表示statics的错误).
我见过的另一种方法是
const PASSWORD: &'static str = env!("PASSWORD");
但问题是,它将在编译时定义为env!
是一个宏(至少我的理解是这样).
我还考虑过简单地将调用包装到函数中的var("...").unwrap()
,但这种解决方案并不适合我,而且还允许在整个运行时更改值,而不是在服务启动时验证它们.
正如你所知,我是个新手.如果您能在回答中不仅解释如何在运行时加载const/static,而且还解释为什么我所做的是愚蠢和错误的,我将不胜感激:)