2个版本
0.1.1 | 2023年7月31日 |
---|---|
0.1.0 | 2023年7月27日 |
#1807 in 算法
8KB
142 行
Env Convert
一个用于处理环境变量的便利库,处理基本的类型转换和默认值。
获取值
get_default_env_var
接收环境变量名称和默认值作为字符串,如果不存在则返回。它返回一个可以转换为具有转换类型的 Result
的 EnvVar
。然后您可以使用该结果检测转换是否成功。
get_env_var
接收环境变量名称并返回一个 Result<EnvVar,std::env::VarError>
。
let max_connections_result: Result<u32,_> = get_default_env_var("MAX_DB_CONNECTIONS", "5").into();
let max_connections = max_connections_result.expect("MAX_DB_CONNECTIONS must be an integer");
let env_result: Result<String,_> = get_env_var("DEFAULT_GREETING").expect("DEFAULT_GREETING is required").into();
// You can also convert strings directly
let default_greeting: String = get_default_env_var("DEFAULT_GREETING", "hello").into();
转换
此库实现了以下转换
- 字符串
- 无符号和有符号8位到128位,以及架构 (
i8
,u16
,usize
...) - 浮点数 (
f32
,f64
)
要实现自己的,可以为 Result<YourType, EnvVarConversionError>
实现 From<EnvVar>
特性。
版本
在此达到版本1之前,我将努力保持API的稳定性,但无任何保证。之后,此库将遵循语义版本化。