如何接收可選的元組返回值

我有一個(gè)函數(shù)如下所示:

fn some_func() -> Option<(String, i32)>

當(dāng)我嘗試這樣做時(shí):

let (a, b) = some_func();

編譯器拋出以下錯(cuò)誤:

expected enum `Option`, found tuple

如何從函數(shù)接收返回值?

? 最佳回答:

您可以在some_func()上調(diào)用Some()來訪問這些值(或者在沒有值的情況下,None())。

在Rust中實(shí)現(xiàn)這一點(diǎn)的慣用方法是使用match語(yǔ)句。

match some_func() {
    Some((x, y)) => println!("{} {}", x, y),
    None => panic!("no vals"),
}

或者,如果您想像示例中那樣使用賦值(但它不會(huì)處理None):

let (a, b) = some_func().unwrap();
println!("{} {}", a, b);

Playground here.

還有一個(gè)更新的游樂場(chǎng),用.expect()代替了這里的.unwrap()

更重要的一點(diǎn)是,如果(a, b)None,則不太可能在這個(gè)塊中繼續(xù)。

公眾號(hào):1024技術(shù)圈

?? 提供互聯(lián)網(wǎng)知識(shí)和資訊,分享IT前沿技術(shù),熱門資源,大廠面試題 ??

主站蜘蛛池模板: 无码AⅤ精品一区二区三区| 久久毛片一区二区| 日韩精品一区二区三区中文字幕| 国产区精品一区二区不卡中文| 国产aⅴ一区二区| 国产99视频精品一区| 亚洲bt加勒比一区二区| 国产高清一区二区三区四区| 国产一区二区免费在线| 在线一区二区观看| 国产精品亚洲一区二区三区在线观看 | 一区在线免费观看| 日本精品视频一区二区三区| 国产精品成人免费一区二区| 亚洲AV无码片一区二区三区| 在线观看国产一区二三区| 国产手机精品一区二区| 亚洲午夜一区二区三区| 无码人妻精品一区二区蜜桃网站 | 人妻少妇久久中文字幕一区二区| 国产午夜精品一区二区| 黄桃AV无码免费一区二区三区| 亚洲片一区二区三区| 国产一区二区三区在线视頻| 精品一区二区三区免费视频| 中文字幕在线无码一区| 国精无码欧精品亚洲一区| 国产高清视频一区三区| 无码人妻精品一区二区三区在线| 久久国产免费一区| 91大神在线精品视频一区| 一本一道波多野结衣一区| 好爽毛片一区二区三区四无码三飞| 无码一区二区三区在线 | 中文字幕一区二区三区在线观看| 亚洲国产日韩在线一区| 波多野结衣AV一区二区三区中文| 国产一区二区免费在线| 国产一区二区三区精品视频| 人妻无码一区二区三区免费| 亲子乱av一区区三区40岁|