在 Rust 中,像这样匹配一个值是可行的:
为什么它不能正常工作?
let x = 1;
match x {
1 => println!("one"),
2 => println!("two"),
_ => println!("something else")
}
但是在match
中使用向量中的值而不是硬编码的数字是不起作用的:
let x = 1;
let list = vec![1, 2];
match x {
list[0] => println!("one"),
list[1] => println!("two"),
_ => println!("something else")
}
这样做会出现以下错误信息:
error: expected one of `=>`, `@`, `if`, or `|`, found `[`
--> src/main.rs:6:9
|
6 | list[0] => println!("one"),
| ^ expected one of `=>`, `@`, `if`, or `|` here
为什么它不能正常工作?