我正在尝试在 Rust 中使用match。我写了一个函数:
fn main() {
let try = 3;
let x = match try {
Some(number) => number,
None => 0,
};
}
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
fn main() {
let try = 3;
let x = match try {
Some(number) => number,
None => 0,
};
}
Run Code Online (Sandbox Code Playgroud)
我尝试了类似的方法let try: i32 = 3;来确保这try是一个整数值,但我仍然遇到相同的错误。
我想你想要这个:
fn main() {
let try = Some(3);
let x = match try {
Some(number) => number,
None => 0,
};
}
Run Code Online (Sandbox Code Playgroud)
问题是您正在尝试将整数与Some(...)和相匹配None,其中Options 。这实际上没有意义......整数永远不可能是None。
相反,我认为您想使用该类型并通过使用默认值Option<i32>将其转换为 an 。i32上面的代码应该可以完成这个任务。请注意,如果这就是您想要做的全部,这是一种更简单的方法:
let x = try.unwrap_or(0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9311 次 |
| 最近记录: |