Rust 從基礎到實踐(16) Some

rust_logo.jpg

我們之前學習 Vector 和 Hashmap 中一些獲取值的方法返回值并非想要的值拱礁,而是 Some 類型的值,我們通過 Some 對值進行包裹塌衰,將包裹的值可能為空處理交給了使用方來處理豌注。

fn main(){
    let s = Some('c');

    match s {
        Some(i) => println!("{}",i),
        _ => {},
    }
}

通過 Some 方法創(chuàng)建 Some 類型的 s,然后通過 match 方法來進行處理


    if let Some(i) = s{
        println!("{}",i);
    }else {
        {}
    }

其實也可以用這種形式對 Some 進行解構獲取值矩欠。

let mut s = Some(0);

    loop {
        match s {
            Some(i) => if i > 19 {
                println!("Quit");
                s = None;
            }else {
                println!("{}",i);
                s = Some(i + 2);
            },
            _ => {
                break;
            },
        }
    }
0
2
4
6
8
10
12
14
16
18
Quit

簡單地分析一下财剖,Some(0) 進入循環(huán)悠夯,我們跳出循環(huán)條件 break 是 match s 返回值為 None 時候,那么 s 什么時候為 None 呢應該當 s 的包裹值大于 19 時候為 None 就退出了循環(huán)躺坟。不然就對 s 進行重新賦值沦补,每次都是將其包裹值 + 2 再付給他∵涑龋可能下面這種方式比較好理解一些夕膀。

    while let Some(i) = s {
        if i > 19 {
            println!("Quit");
            s = None;
        }else {
            println!("{}", i);
            s = Some(i + 2);
        }
    }
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市美侦,隨后出現(xiàn)的幾起案子产舞,更是在濱河造成了極大的恐慌,老刑警劉巖菠剩,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件易猫,死亡現(xiàn)場離奇詭異,居然都是意外死亡具壮,警方通過查閱死者的電腦和手機准颓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棺妓,“玉大人攘已,你說我怎么就攤上這事×埽” “怎么了样勃?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長性芬。 經(jīng)常有香客問我峡眶,道長,這世上最難降的妖魔是什么批旺? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任幌陕,我火速辦了婚禮,結果婚禮上汽煮,老公的妹妹穿的比我還像新娘搏熄。我一直安慰自己聪全,他們只是感情好敢订,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著供搀,像睡著了一般鞋囊。 火紅的嫁衣襯著肌膚如雪止后。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音译株,去河邊找鬼瓜喇。 笑死,一個胖子當著我的面吹牛歉糜,可吹牛的內容都是我干的乘寒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼匪补,長吁一口氣:“原來是場噩夢啊……” “哼伞辛!你這毒婦竟也來了?” 一聲冷哼從身側響起夯缺,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蚤氏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后踊兜,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竿滨,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年捏境,在試婚紗的時候發(fā)現(xiàn)自己被綠了姐呐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡典蝌,死狀恐怖,靈堂內的尸體忽然破棺而出头谜,到底是詐尸還是另有隱情骏掀,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布截驮,位于F島的核電站,受9級特大地震影響际度,放射性物質發(fā)生泄漏。R本人自食惡果不足惜乖菱,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窒所。 院中可真熱鬧鹉勒,春花似錦吵取、人聲如沸禽额。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至藻丢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郁岩,已是汗流浹背婿奔。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工问慎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人如叼。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像笼恰,于是被迫代替她去往敵國和親踊沸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,451評論 0 13
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,791評論 0 38
  • 寫在前面的話 代碼中的# > 表示的是輸出結果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 2,755評論 0 8
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • 等了很久逼龟,你終于來了。 人們都說追葡,春雨貴如油腺律。你半天不來,是真的要顯示你的尊貴嗎宜肉? 夜里匀钧,你悄然而至,輕輕地飄落凡...
    我叫米粒閱讀 224評論 0 0