Rust match 中的坑
2019-04-29 15:04 rust
Rust 的 match 模式匹配, 可以很方便地匹配多种情况, 类似于 C 语言中的 switch 语句. 但是, 如果要匹配数字范围时, 需要这样写:
match n {
1 => {
println!("One");
}
2 | 3 | 5 | 7 => {
println!("Prime");
}
11...19 => {
println!("Teens");
}
_ => {
println!("Ain't prime");
}
}
这里要用 11...19
来指定 11~19
这个范围.
而在 for in
语法中, 表达类似的语义, 需要使用 11..19
这种写法:
for i in 11..19 {
println!("Teens");
}
同时存在这两种写法, 会让开发者更混乱, 相当不协调.