[英]What is the difference between Some and Option in Rust?
他們是一樣的嗎? 我有時可以看到文檔使用它們,就好像它們是平等的一樣。
Option
類型定義為:
enum Option<T> {
None,
Some(T),
}
這意味着Option
類型可以具有None
或Some
值。
也可以看看:
不,它們不相同,並且將它們視為相同的文檔要么是錯誤的,要么是您的誤解。 Option
是一種類型(更准確地說,是泛型類型構造函數; Option<i32>
是一種類型, Option<String>
也是一種類型)。 Some
是一個構造函數。 除了充當函數fn Some<T>(T x) -> Option<T>
,它還用於模式匹配:
let mut opt: Option<i32>; // type
opt = Some(1); // constructor
opt = None; // other constructor
match opt {
Some(x) => {
// pattern
println!("Got {}", x);
}
None => {
// other pattern
println!("Got nothing");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.