關(guān)于 rust 中 Option
在標(biāo)準(zhǔn)庫(std
)中有個(gè)叫做?Option<T>
(option 中文意思是 “選項(xiàng)”)的枚舉類型,用于有 “不存在” 的可能性的情況。
在標(biāo)準(zhǔn)庫(std
)中有個(gè)叫做?Option<T>
(option 中文意思是 “選項(xiàng)”)的枚舉類型,用于有 “不存在” 的可能性的情況。
在標(biāo)準(zhǔn)庫(std
)中有個(gè)叫做?Option<T>
(option 中文意思是 “選項(xiàng)”)的枚舉類型,用于有 “不存在” 的可能性的情況。
認(rèn)真讀三遍。
它表現(xiàn)為以下兩個(gè) “option”(選項(xiàng))中的一個(gè):
Some(T)
:找到一個(gè)屬于?T
?類型的元素None
:找不到相應(yīng)元素
```
fn give_commoner(gift: Option<&str>) {
? ? // 指出每種情況下的做法。
? ? match gift {
? ? ? ? Some("snake") => println!("Yuck! I'm throwing that snake in a fire."),
? ? ? ? Some(inner)? ?=> println!("{}? How nice.", inner),
? ? ? ? None? ? ? ? ? => println!("No gift? Oh well."),
? ? }
}
fn give_princess(gift: Option<&str>) {
? ? // `unwrap` 在接收到 `None` 時(shí)將返回 `panic`。
? ? let inside = gift.unwrap();
? ? if inside == "snake" { panic!("AAAaaaaa!!!!"); }
? ? println!("I love {}s!!!!!", inside);
}
fn main() {
? ?let bird = Some("robin");
? ?give_princess(bird);
? ?give_princess(nothing);
}
```
