📜  rust 匹配通配符 - Rust (1)

📅  最后修改于: 2023-12-03 15:04:57.882000             🧑  作者: Mango

Rust 匹配通配符

在 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 中的模式进行匹配。在处理一些不确定性较大的情况下,通配符可以提供更大的便利性和有效性。