Yil*_*maz 1 string environment-variables rust
对于不可变的常量字符串,我们使用&str. 例如,
let url: &'static str = "yourUrl";
Run Code Online (Sandbox Code Playgroud)
这url是一个常量值,不需要修改。它是对 UTF-8 字节序列的引用,我们只是在这里读取它。
但是,环境变量的String类型为:
use dotenv::dotenv;
use std::env;
dotenv().ok();
let api_key: String =
env::var("Your_api_key").expect("API KEY NOT FOUND");
Run Code Online (Sandbox Code Playgroud)
String是 Rust 中可增长、可变、拥有的类型。它在堆上分配并允许动态修改其内容,但环境变量是常量并在 rust 程序启动时加载。为什么不是类型&str?
环境变量是常量,并在 rust 程序启动时加载。为什么不是&str类型?
因为环境变量不是常量:setenv(3)、unsetenv(3)和putenv(3)存在(以及clearenv(3)在 glibc 中)。