Rust 程序设计语言 简体中文版 1.85.0secret_number 调用 cmp 返回的 Ordering 成员来决定接下来做什么。 一个 match 表达式由 分支(arms) 构成。一个分支包含一个 模式(pattern)和表达式开头 的值与分支模式相匹配时应该执行的代码。Rust 获取提供给 match 的值并挨个检查每个分支 的模式。match 结构和模式是 Rust 中强大的功能,它体现了代码可能遇到的多种情形,并确 保对所有情况作出 Ordering::Greater。 Ordering::Greater 是 match 表达式得到的值。它检查第一个分支的模式,Ordering::Less 与 Ordering::Equal并不匹配,所以它忽略了这个分支的代码并来到下一个分支。下一个分支的 模式是 Ordering::Greater,正确 匹配!这个分支关联的代码被执行,在屏幕打印出 Too big!。match 表达式会在第一次成功匹配后终止,因此在这种情况下不会查看最后一个分 含结果数字的 Ok。这个 Ok 值与 match 第一个分支的模式相匹配,该分支对应的动作返回 Ok 值中的数字 num,最后如愿 变成新创建的 guess 变量。 如果 parse 不能将字符串转换为一个数字,它会返回一个包含更多错误信息的 Err。Err 值不 能匹配第一个 match 分支的 Ok(num) 模式,但是会匹配第二个分支的 Err(_) 模式:_ 是一个 通配符值,本例中用来匹配所有0 码力 | 562 页 | 3.23 MB | 28 天前3
共 1 条
- 1













