fn main() {
let f = 1;
match f {
foo => {
println!("{}",foo);
}
};
match f {
_ => {
println!("{}",f);
}
};
}
Run Code Online (Sandbox Code Playgroud)
两次比赛之间有什么区别吗?(均打印1)。谁能指出我记录了第一个比赛的位置?Rust书(直到第9章)似乎只提到了占位符_
,但没有提到“您可以输入任何名称(例如,foo
在这种情况下)作为匹配条件”。
这些只是模式。书中进一步详细记录了模式。模式有多种形式:
1
,FOO
enum
解构:Some(y)
,None
struct
解构: Point { x, y }
(42, foo)
foo
,foo @ (42, bar)
1 ... 42
_
这两个示例之间没有什么区别,但是,命名模式在match
表达式中通常不被视为顶级模式,而在子模式中,例如Some(foo)
。但是,命名模式在函数参数和let
绑定中极为常见。
归档时间: |
|
查看次数: |
80 次 |
最近记录: |