我在阅读本书第二章的代码时遇到了一个问题:
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
Run Code Online (Sandbox Code Playgroud)
我的问题是Ok(num) => num:parse()返回一个值(Ok或Err),match将返回的值与第一个手臂进行比较。如果匹配,则表达式将在第一个分支旁边执行语句,对吗?
在Ok(num),num似乎突然弹起,因为当时没有申报num在前面的代码。与声明相同=> num::num突然进入范围。所以
match请将返回值与匹配Ok(),然后将(在之中Ok)分配给num。但是,为什么num右边的设备突然可用?Ok(num)和有Ok(_)什么区别?