亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rust怎么設置環境變量

發布時間:2022-01-24 09:41:20 來源:億速云 閱讀:976 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Rust怎么設置環境變量”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Rust怎么設置環境變量”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Rust 語言是一種高效、可靠的通用高級語言。其高效不僅限于開發效率,它的執行效率也是令人稱贊的,是一種少有的兼顧開發效率和執行效率的語言。

Rust語言的特點

高性能 - Rust 速度驚人且內存利用率極高。由于沒有運行時和垃圾回收,它能夠勝任對性能要求特別高的服務,可以在嵌入式設備上運行,還能輕松和其他語言集成。

可靠性 - Rust 豐富的類型系統和所有權模型保證了內存安全和線程安全,讓您在編譯期就能夠消除各種各樣的錯誤。

生產力 - Rust 擁有出色的文檔、友好的編譯器和清晰的錯誤提示信息, 還集成了一流的工具 —— 包管理器和構建工具, 智能地自動補全和類型檢驗的多編輯器支持, 以及自動格式化代碼等等。

在項目中,我們通常需要設置一些環境變量,用來保存一些憑證或其它數據,這時我們可以使用 dotenv 這個 crate。

首先在項目中添加 dotenv 這個依賴:

Rust怎么設置環境變量

例如在下面這個項目中,需要設置數據庫連接字符串和 Debug 等級這兩個環境變量。在開發環境下,我們可以在項目根目錄下創建 .env 這個文件:

Rust怎么設置環境變量

在 .env 文件里,我們設置兩個環境變量,分別是 DB_URL 和 LOG_LEVEL:

Rust怎么設置環境變量

下面來到 main.rs,想要訪問系統的環境變量,我們使用標準庫的 std::env 即可:

Rust怎么設置環境變量

這里,我們先把獲取到的環境變量進行遍歷和打印,然后再分別嘗試打印 PATH、DB_URL 和 LOG_LEVEL 這三個環境變量的值。

結果如下:

Rust怎么設置環境變量

我們可以看到,前面是遍歷打印的環境變量,后邊打印出了 PATH 的值。然后在嘗試獲取 DB_URL 值的時候程序就恐慌了,因為沒有找到這個環境變量。

現在我們使用 dotenv 這個 crate:

Rust怎么設置環境變量

先把 dotenv 導入,然后在程序開始的地方執行 dotenv() 函數即可,這就會從當前目錄或父目錄中的 .env 文件中加載環境變量。

如果你想指定其它路徑,可以使用 crate 中提供的 from_filename 或 from_path 這兩個函數。

好,那么調用 dotenv() 之后為什么還要調用 ok() 方法?

首先,dotenv() 返回的是 Result<PathBuf> 類型,如果返回值不使用的話,就會發出一個警告:

Rust怎么設置環境變量

調用 ok() 之后,會把 Result 轉化為 Option,而 Option 就不會產生未使用 Result 的警告了。

那么,為什么不使用 unwrap()?

因為在生產環境中,你不會使用 .env 這個文件,你應該使用真實的環境變量,這時 dotenv() 函數就會加載失敗,如果使用 unwrap(),那么你的程序就會停止運行。

所以這里使用 ok() 的目的就是當加載 dotenv 環境文件失敗的時候可以忽略錯誤。

代碼:

use std::env;
use dotenv::dotenv;
fn main() {
    dotenv().ok();
    for (k, v) in env::vars() {
        println!("{}: {}", k, v);
    }
    println!("PATH: {}", env::var("PATH").unwrap());
    println!("DB: {}", env::var("DB_URL").unwrap());
    println!("LOG: {}", env::var("LOG_LEVEL").unwrap());
}

讀到這里,這篇“Rust怎么設置環境變量”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西昌市| 新疆| 驻马店市| 丽江市| 仲巴县| 集安市| 澄城县| 城市| 武穴市| 昌黎县| 方城县| 津南区| 缙云县| 谷城县| 简阳市| 吴忠市| 河曲县| 铁岭市| 吉安市| 丽水市| 任丘市| 改则县| 淮阳县| 南康市| 阿尔山市| 平定县| 治多县| 永城市| 巢湖市| 永登县| 大渡口区| 厦门市| 九龙城区| 咸宁市| 庄浪县| 阳山县| 化隆| 天祝| 长寿区| 宁城县| 淄博市|