📅  最后修改于: 2023-12-03 15:04:57.882000             🧑  作者: Mango
在 Rust 中,可以使用 match
关键字来进行模式匹配。除了匹配具体的值,还可以使用通配符匹配任意的值。这在处理不确定性较大的情况下非常有用。
_
通配符 _
可以用来匹配任意值。使用 _
时,需要在 match
表达式的分支中将其作为替代选项。
let x = 5;
match x {
1 => println!("One"),
2 => println!("Two"),
_ => println!("Something else"),
}
在上面的例子中,当 x
不为 1 或 2 时,将会执行 _
所在的分支,输出 Something else
。
..
通配符 ..
可以用来匹配一个值的区间。这通常用于匹配结构体和元组中的一部分元素。
let point = (3, 5);
match point {
(_, 0) => println!("On the x axis"),
(0, _) => println!("On the y axis"),
(x, y) => println!("On the point ({}, {})", x, y),
}
在上面的例子中,对于一个二维坐标系的点 (x, y)
,当 y
为 0 时,匹配到 (_, 0)
;当 x
为 0 时,匹配到 (0, _)
;否则匹配到 (x, y)
。
|
通配符 |
可以将多个分支合并成一个分支,用于匹配多种可能性。
let x = 5;
match x {
1 | 2 => println!("One or two"),
3 | 4 => println!("Three or four"),
_ => println!("Something else"),
}
在上面的例子中,当 x
为 1 或 2 时,匹配到 1 | 2
;当 x
为 3 或 4 时,匹配到 3 | 4
;否则匹配到 _
。
使用通配符,可以更灵活地对 Rust 中的模式进行匹配。在处理一些不确定性较大的情况下,通配符可以提供更大的便利性和有效性。