Rust env宏的用法和示例

在 Rust 中,env宏用于在编译时检查环境变量;该宏在编译时获取指定变量的值,返回一个&str类型,如果环境变量未定义,则会产生编译错误。

env 用法

你可以通过传递字符串作为第二个参数来自定义错误消息;

fn main(){

    let _path = env!("PATH");

    let _other = env!("other","`other` not defined");
    
}

不存在other系统环境变量时,编译此程序将得到编译错误:

rust env

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的环境变量;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/rust-macros/env.html

分类: 计算机技术
推荐阅读:
MySQL ADDDATE() 函数 ADDDATE()函数用于将一个时间值增加到一个日期当中;通俗的讲,就是可以通过这个函数将一个日期增加多少天;
Rust while 条件循环 Rust 内置了while循环结构;当条件为真时,执行循环,当条件不为真时,停止循环;
Rust解析JSON,结构体序列化和反序列化 JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。
Linux将上一条执行的命令写入文件 在Linux下,你可以将刚刚输入的最后一条命令写入文件里,而且只需要一条命令,免去了创建文件,重复输入的过程;
Python reversed()函数 在 Python 中,reversed() 函数用于反转序列(例如列表、元组、字符串等)中的元素,并返回一个迭代器。可以将这个迭代器转换为列表、元组或其他类型的序列。
requests中读取和设置Cookie 读取和设置Cookie中也非常简单;requests返回的Response中包含一个cookies属性,访问它,将返回一个RequestsCookieJar对象。