Заполнение 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 во время выполнения, но и объяснили, почему то, что я делаю, глупо и неправильно :)

Ответы на вопрос(1)

Ваш ответ на вопрос