Заполнение static / const переменной среды во время выполнения в Rust
Я пытаюсь загрузить пароли и конфиденциальные данные из системной среды при запуске службы. Я пробовал несколько разных способов, но не могу найти правильный способ сделать это в Rust.
const PASSWORD: String = var("PASSWORD").unwrap();
Не работает потому чтоmethod calls in constants are limited to constant inherent methods
, То же самое относится и кstatic
(кроме ошибки говорит статика, очевидно).
Другой способ, которым я видел это
const PASSWORD: &'static str = env!("PASSWORD");
Но проблема в том, что он будет определен во время компиляции какenv!
это макрос (по крайней мере, это мое понимание).
Я также рассмотрел просто завершение вызоваvar("...").unwrap()
в функции, но это решение на самом деле не подходит мне, а также позволяет изменять значения во время выполнения И не проверять их при запуске службы.
Как вы можете сказать, я новичок в Rust. Я был бы очень признателен, если бы в своем ответе вы не просто объяснили, как загрузить const / static во время выполнения, но и объяснили, почему то, что я делаю, глупо и неправильно :)