Rust env宏的用法和示例
在 Rust 中,env
宏用于在编译时检查环境变量;该宏在编译时获取指定变量的值,返回一个&str
类型,如果环境变量未定义,则会产生编译错误。
env 用法
你可以通过传递字符串作为第二个参数来自定义错误消息;
fn main(){
let _path = env!("PATH");
let _other = env!("other","`other` not defined");
}
不存在other
系统环境变量时,编译此程序将得到编译错误:
env
宏得到的是编译时环境变量的值,如果你想在运行时获取环境变量的值,请改为使用std::env::var
:
fn main() {
if let Ok(path) = std::env::var("PATH"){
println!("$PATH: {}",path);
}
}
env
宏不仅能在代码中使用,还可以在Cargo.toml
文件中使用:
[dependencies]
some_dependency = { version = "1.0", features = [env!("SOME_FEATURE")] }
这里的env!("SOME_FEATURE")
将会在编译时获取名为SOME_FEATURE
的环境变量;