精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Rust中處理命令行參數和環境變量

開發 前端
在本章節中, 我們探討了Rust處理命令行參數的常見的兩種方式和處理環境變量的兩種常見方式, 拋開Rust的語法, 實際上在命令行參數的處理方式上, 與其它語言大同小異, 可能影響我們習慣的也就只剩下語法。

1.摘要

Rust的命令行和環境變量處理在標準庫中提供了一整套實現方法, 在本文中除了探索標準庫的使用方法之外, 也在不斷適應Rust獨有的語法特點。在本文中, 我們通過標準庫函數的返回值熟悉了迭代器的使用方法, 操作迭代器精確控制保存的內容, 包括字符串和鍵值對的使用方法。

2.讀取參數值

在Rust編程中要讀取命令行參數的值, 標準庫提供了一個函數: std::env::args, 該函數返回一個傳遞給命令行參數的迭代器, 迭代器中保存了所有參數內容, 調用者需要調用collect方法將其轉換成一個集合, 先看一段示例代碼:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    dbg!(args);
}

在上面的代碼中, 首先使用use語句將std::env模塊引入作用域以便使用它的args函數。然后調用其collect()方法, 該方法將接收命令行所有參數內容并保存到變量args中, 接著使用dbg!宏打印了args的內容。

現在將這段代碼編譯執行會發現沒有任何內容輸出, 這是因為執行運行沒有參數信息, 現在我們設計一個場景, 通過search參數來搜索一個文件, 完整命令如下:

cargo run -- search filename.txt

注意: 參數符號"--"與參數名之間有空格。

執行結果如下:

圖片圖片

從返回的結果來看, 集合中保存了三個參數, 實際上第一個參數是我們二進制文件名稱, 這跟C語言中的參數列表的行為很類似, 除了獲取到調用的程序名稱, 還包括所有以空格隔開的參數名稱。

3.將參數值保存到變量

在上面的例子中, 參數內容保存到了args變量中, 下面修改一下程序,代碼如下:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    
    let param_name = &args[1];
    let file_name = &args[2];
    
    println!("第一個參數名:{}", param_name);
    println!("第二個參數名:{}", file_name);
}

在上面的代碼中, 我們根據數組索引來取變量名稱, 例如: args[0]對應是集合中的第一個元素, 也就是二進制程序名, 這個不是我們需要的, 如果要取參數search的內容, 使用args[1], 取文件名使用args[2], 以此類推。

執行結果如下:

圖片圖片

通過不同的變量分別接收不同的參數名, 在程序后面的邏輯中, 就可以使用這些保存獨立參數的變量名了。

4.處理環境變量

在std::env模塊中, 標準庫同樣提供了獲取環境變量的函數,為: env::vars(), 下面的代碼將把我這臺電腦的環境變量全部打印出來:

use std::env;

fn main() {
    for (key, value) in env::vars() {
        println!("{} => {}", key, value);
    }
}

同樣, env::vars()返回的也是一個迭代器, 不同的是, 數據結構是以key:value對的形式保存, 程序中分別將key和value進行打印:

圖片圖片

下面我們在程序中增加一項功能, 因為打印的參數實在太多, 我想把Path環境變量的內容打印出來該怎么做呢?,修改以下代碼:

use std::env;

fn main() {
    let search_key = "PATH";
    match env::var(search_key) {
        Ok(val) => {
            println!("PATH變量保存的內容為:{}", val);
        },
        Err(e) => println!("無法找到key:{}, 錯誤為:{}", search_key, e)
    }
}

在上面的代碼中, 我定義了一個需要搜索的Key名為"PATH", 并使用match正則直接在env::var()的返回迭代器中搜索Key名,這里env::var(param)為什么可以接收參數呢? 進入env.rs源碼可以看到以下代碼:

圖片圖片

env::var()接收需要搜索的Key,返回了一個Result<T, E>類型, 上面還給了一個使用的示例。

從env:var()函數內部,我們可以看到返回的是一個Result<String, VarError>類型,因此,如果獲取成功,在Ok()宏中可以設置參數接收結果,而使用Err()宏接收可能因失敗返回的錯誤, 先看下成功的情況, 打印PATH環境變量內容如下:

圖片圖片

現在再看一個搜索失敗的情況, 將要搜索的key的內容修改為: "SUNTIGER", 執行結果如下:

圖片圖片

此時將走另一個流程, 利用Err()宏打印錯誤信息。

除此之外, std::env包中還包含其他的一些方法, 例如:設置環境變量:set_var()、刪除當前運行進程的環境變量:remove_var()等,感興趣的可以查看Rust的官方文檔, 這里不再贅述。

5.總結

在本章節中, 我們探討了Rust處理命令行參數的常見的兩種方式和處理環境變量的兩種常見方式, 拋開Rust的語法, 實際上在命令行參數的處理方式上, 與其它語言大同小異, 可能影響我們習慣的也就只剩下語法。Rust在某些機制實現上跟Go語言比起來可能略顯繁瑣, 但我們在學習任何語言的時候首先要想到每種編程語言的主要特點, 例如: Go語言主打一個語法簡潔和高并發, 因此學習Go語言上手感覺特別快, 而且在處理高并發過程中, Go語言的協程和通道使用起來特別容易,性能也非常不錯。而Rust的主打特點是內存安全, 要將這種安全思想貫穿全局, Rust會強行轉換使用它的每個人的編程思想, 而Rust編譯器就像映射的鏡子, 任何不好的編程習慣和疏忽換來的都是紅色的錯誤提示。

責任編輯:武曉燕 來源: 二進制空間安全
相關推薦

2017-03-08 11:10:39

LinuxShell命令

2023-12-12 13:22:00

LinuxDocker容器

2009-07-15 17:10:26

Jython解析命令行

2021-11-18 15:54:17

FreeDOSLinux

2010-11-24 15:33:59

mysql命令行參數

2010-03-10 17:23:37

Python 命令行參

2011-06-14 09:21:55

Linux Qt 環境變量

2024-01-29 00:21:14

環境變量數據

2021-07-12 14:53:27

LinuxGmail電子郵件

2010-03-24 14:08:10

CentOS命令行

2018-04-23 08:45:05

Linux命令行

2018-07-10 14:29:05

Linux命令行

2010-07-20 14:02:38

Perl命令行參數

2010-07-26 09:32:41

Perl命令行

2011-08-22 11:51:13

Linuxconfigure

2023-03-28 08:40:22

命令行JSON用法

2023-03-01 11:35:45

2010-05-27 17:17:29

Linux查看環境變量

2022-10-25 13:01:36

Linux命令行空目錄

2010-07-15 09:27:25

Perl命令行
點贊
收藏

51CTO技術棧公眾號

91大神精品| 国产免费无码一区二区视频| 色婷婷综合久久久中字幕精品久久 | 欧美激情精品久久久久久黑人| av免费观看国产| 国产高清视频免费最新在线| 激情成人综合网| 国语自产精品视频在免费| 先锋影音av在线| 中文字幕在线中文字幕在线中三区| 国产酒店精品激情| 欧美亚洲另类激情另类| 成人在线观看免费完整| 久9久9色综合| 亚洲国模精品一区| 色网站在线视频| 伊人久久综合一区二区| 亚洲欧美一区二区不卡| 日韩av电影免费在线| www.色婷婷.com| 老司机午夜精品99久久| 欧美中文在线观看| 免费中文字幕视频| 国产精品久久久久久| 亚洲男子天堂网| 伊人久久一区二区三区| 97久久精品一区二区三区的观看方式| 中文av一区二区| 久久国产精品一区二区三区四区 | 欧美精品一区二区精品网| 中文字幕av不卡在线| 涩涩在线视频| 午夜一区二区三区视频| 人妻互换免费中文字幕| 黄网页在线观看| 国产网站一区二区三区| 欧美日韩天天操| 四虎电影院在线观看| 国产.欧美.日韩| 99在线观看视频| 国产乱淫片视频| 激情欧美一区二区三区在线观看| 国产精品日韩欧美| 欧美成人短视频| 美日韩中文字幕| 日韩电影大片中文字幕| 久久国产色av免费观看| 美女搞黄视频在线观看| 亚州成人在线电影| 国产一级爱c视频| 成年网站在线视频网站| 亚洲午夜羞羞片| 精品一区二区三区无码视频| 欧美xxxx性xxxxx高清| 亚洲精品自拍动漫在线| 国产在线精品一区二区三区》| 99热精品在线播放| 国产精品亚洲一区二区三区在线| 成人羞羞国产免费| 一区二区三区视频免费看| 激情久久婷婷| 欧美专区第一页| 国产精品熟女视频| 欧美aⅴ一区二区三区视频| 国产精品视频精品视频| 97精品人妻一区二区三区香蕉| 精品一区二区精品| 99在线影院| 五月天婷婷在线播放| 久久99热这里只有精品| 亚洲www在线观看| 亚洲欧美强伦一区二区| 91亚洲国产成人精品一区二区三| 你懂的视频在线一区二区| 国产女人爽到高潮a毛片| 国产麻豆91精品| 国产一区二区在线网站| 国产小视频在线播放| 国产一区二区三区黄视频 | 日韩a一级欧美一级| 亚洲欧美精品一区二区| 99久久久国产精品| 亚洲综合精品伊人久久| 超碰在线播放97| 91在线观看高清| 天天久久人人| 在线观看男女av免费网址| 国产一区二区三区四| 国产精品久久久久久久久久直播 | 欧美床上激情在线观看| av亚洲在线观看| 高清精品xnxxcom| 精品人在线二区三区| 人妻激情偷乱频一区二区三区| 欧美午夜寂寞| 日韩在线视频二区| 日韩av综合网| 国产精品一区二区人妻喷水| 精品美女久久| 欧美日本精品在线| 神马久久久久久久久久久| 欧美韩国日本在线观看| 亚洲色图国产精品| 婷婷伊人五月天| 亚洲欧美日韩一区在线观看| 91在线视频九色| 你懂的在线视频| 悠悠色在线精品| 人妻无码视频一区二区三区 | 亚洲va中文字幕| 亚洲欧美国产日韩综合| 日本福利一区| 欧美日韩国产999| 一区二区三区在线免费观看视频| 成人av午夜影院| 日本一区二区三区四区五区六区| 国模套图日韩精品一区二区| 精品国产污污免费网站入口 | 色婷婷综合激情| 久久久久亚洲av成人网人人软件| 成人三级视频| 国产成+人+综合+亚洲欧洲 | 永久免费精品视频| www.xxxx欧美| 中文字幕免费观看视频| 久久综合av免费| 国产欧美精品一区二区三区| 视频一区二区三区不卡| 色视频成人在线观看免| 中国极品少妇videossexhd| 午夜精品网站| 7777奇米亚洲综合久久| 久久久久久久久免费视频| 91国产免费看| 成人在线一级片| 国产精品久久久免费| 精品亚洲一区二区三区四区五区高| 女女色综合影院| 欧美日韩国产在线观看| 懂色av粉嫩av浪潮av| 免费一级欧美片在线观看| 亚洲aⅴ天堂av在线电影软件| 日韩美女在线看免费观看| 亚洲免费av片| 97人妻精品视频一区| 欧美国产一区在线| 污污的网站免费| 天天影视综合| 亚洲综合日韩中文字幕v在线| 亚洲区欧洲区| 日韩精品一区二区三区视频播放| 久久久久久久久久综合| 亚洲女优在线| 欧美日韩无遮挡| 亚洲四虎影院| 日韩视频―中文字幕| 国产精品国产三级国产普通话对白| 综合中文字幕亚洲| 四虎成人在线播放| 国模吧视频一区| 国产精品制服诱惑| 成人美女视频| 中文字幕一区二区三区电影| 99国产精品久久久久99打野战| 亚洲乱码国产乱码精品精可以看 | 国产精品美女一区二区| 国产在线观看中文字幕| 红桃视频国产一区| 久久亚洲高清| 日韩伦理一区二区| 欧美富婆性猛交| 性感美女视频一二三| 91成人网在线| 九九热最新地址| 91亚洲精品一区二区乱码| 午夜免费一区二区| 亚洲国产老妈| 欧美二区三区在线| 91视频亚洲| 91精品国产色综合| 午夜伦全在线观看| 亚洲国产精彩中文乱码av| 午夜精品免费观看| 一区二区三区在线视频播放 | 国产精品国产三级国产| 日韩精品xxx| 久久精品综合| 国产日韩精品推荐| 蜜桃视频成人m3u8| 色在人av网站天堂精品| 可以在线观看的av网站| 日韩欧美区一区二| 中文字幕免费高清网站| 一区二区三区美女视频| 在线不卡av电影| 国产高清在线精品| 日韩亚洲在线视频| 亚洲网站啪啪| 中文字幕日韩一区二区三区 | 日韩激情av在线免费观看| 中文字幕91爱爱| 欧美日韩国产在线看| 久久国产精品国语对白| 久久精品人人爽人人爽| 欧美xxxxx少妇| 精品在线播放免费| 老熟妇仑乱视频一区二区| 很黄很黄激情成人| 一本—道久久a久久精品蜜桃| 99re66热这里只有精品4| 欧美巨乳美女视频| 中文字幕日本在线观看| 亚洲美女黄色片| 国精品人妻无码一区二区三区喝尿 | 国产精品全国免费观看高清| 在线天堂www在线国语对白| 国内成人免费视频| 乌克兰美女av| 日韩国产欧美视频| 五月天亚洲综合小说网| 精品欧美午夜寂寞影院| www.成人av| 成人永久在线| 91精品久久久久久久久久久久久久| 美女福利一区二区| 欧美一级淫片播放口| 密臀av在线播放| 97精品免费视频| 欧美人与禽性xxxxx杂性| 在线视频日韩精品| 激情综合闲人网| 亚洲精品久久久久久久久| 精品国产999久久久免费| 欧美一区二区三区免费视频| 91精品国产乱码久久| 欧美日韩在线播放一区| 日批视频免费观看| 色婷婷久久一区二区三区麻豆| 五月天激情国产综合婷婷婷| 精品日本美女福利在线观看| 久久夜靖品2区| 精品久久久久久中文字幕一区奶水 | 黄色a级片在线观看| 最新国产精品久久精品| 天堂av免费在线| 国产精品久久久久毛片软件| 精品在线观看一区| 亚洲欧洲精品成人久久奇米网| 久久久久人妻一区精品色| 国产精品不卡视频| 国产suv一区二区三区| 亚洲男人的天堂在线aⅴ视频| 人妻人人澡人人添人人爽| 亚洲综合av网| 日产欧产va高清| 国产日韩欧美制服另类| 久久午夜福利电影| 亚洲国产精品成人综合色在线婷婷| 日本乱子伦xxxx| 中文字幕一区二区三区色视频| 久草综合在线视频| 亚洲第一久久影院| 中文字幕黄色片| 亚洲一区二区三区在线看| 久久综合加勒比| 五月天中文字幕一区二区| 香蕉影院在线观看| 欧美日韩国产成人在线91 | 亚洲激情视频在线观看| 青春有你2免费观看完整版在线播放高清 | 久久久久国产| 日韩美女爱爱视频| 久久精品观看| 精品人妻一区二区三区四区在线| 视频一区二区三区在线| 中文字幕在线视频一区二区三区| 成人妖精视频yjsp地址| 极品人妻一区二区三区| 亚洲欧美综合在线精品| 国产精品99re| 在线免费av一区| av中文字幕观看| 精品调教chinesegay| 免费网站免费进入在线| 国内外成人免费激情在线视频网站 | 午夜激情久久久| 亚洲视频在线观看一区二区| 精品国产欧美一区二区| 成年人免费在线视频| 欧美黑人xxx| yy6080久久伦理一区二区| 国产伦精品一区二区三区四区视频| 欧美限制电影| 欧美人成在线观看| 日本系列欧美系列| 欧美夫妇交换xxx| 亚洲人吸女人奶水| 中文字幕免费观看| 欧美大片一区二区| 色综合久久影院| 国产91精品视频在线观看| 精品一区91| 亚洲国产精品一区二区第四页av| 1024日韩| 日本一区二区三区在线免费观看| 国产网站一区二区| 久久99精品波多结衣一区| 欧美一区二区视频观看视频| 国产片在线观看| 7777kkkk成人观看| av成人资源| 懂色av粉嫩av蜜臀av| 日韩va亚洲va欧美va久久| 尤物网站在线观看| 亚洲综合视频网| 国产精品国产三级国产aⅴ| 国产一区二区三区丝袜| 国产精品电影| 99re视频在线播放| 99久久99热这里只有精品| www.xxx亚洲| 91在线免费视频观看| 久久中文字幕无码| 日韩欧美国产wwwww| 免费av不卡| 国产日韩中文字幕| 久久中文字幕二区| 天天干天天操天天玩| 久久久久国产精品麻豆ai换脸| 日韩污视频在线观看| 亚洲国产精品va在线看黑人 | 岛国视频免费在线观看| 日本精品一区二区三区在线播放视频| 麻豆一区二区麻豆免费观看| 日日摸日日碰夜夜爽无码| 本田岬高潮一区二区三区| 欧美成欧美va| 日韩三级.com| 麻豆蜜桃在线| 国产精品国模大尺度私拍| 激情欧美亚洲| 午夜视频在线观看国产| 天天射综合影视| 日本ー区在线视频| 国产精品91久久久| 日韩精品久久| 亚洲男人天堂2021| 亚洲欧美日韩在线播放| 精品人妻一区二区三区蜜桃| 欧美大秀在线观看| 97超碰成人| 日本久久久精品视频| 国产欧美一区二区精品忘忧草| 亚洲男人天堂网址| 日韩中文av在线| 日本精品视频| 久久伦理网站| 久久久久看片| 色偷偷www8888| 日韩精品中文字幕一区二区三区| 欧美寡妇性猛交xxx免费| 国产精品一区二区欧美| 久久久精品日韩| 萌白酱视频在线| 精品久久久三级丝袜| 欧美少妇网站| 亚洲一区三区视频在线观看| 国产精品白丝jk白祙喷水网站| 国产精品第108页| 亚洲三级黄色在线观看| 99精品国产九九国产精品| 天堂8在线天堂资源bt| 久久女同性恋中文字幕| 91麻豆一区二区| 久久免费福利视频| 欧美日韩性在线观看| 亚洲欧美一区二区三区不卡| 午夜精品福利在线| av资源网站在线观看| 97人人香蕉| 石原莉奈在线亚洲三区| 一本在线免费视频| 欧美精品一区二区三区蜜臀| 色成人免费网站| 国产精品久久久久7777| 中文字幕欧美国产| 色哟哟中文字幕| 国产欧美精品久久久| 国产一区二区三区探花| 欧美大片久久久| 亚洲国产精品av| 六月婷婷综合网| 国产女精品视频网站免费| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美 日韩 国产 成人 在线观看| 日韩亚洲欧美中文三级| 99欧美精品| 国产乱子夫妻xx黑人xyx真爽| 亚洲欧洲制服丝袜| 成人午夜电影在线观看|