mil*_*lck 3 enums pattern-matching rust
我有一个枚举:
enum MyEnum {
A(i32),
B(i32),
C,
D,
// ...
}
Run Code Online (Sandbox Code Playgroud)
我可以匹配A
,并B
与像这样同时:
let a = MyEnum::A(1);
match a {
_(n) => { // do something for all variants which have one i32 value
}
_ => { // ignore the rest
}
};
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?我是否必须匹配所有变体并为每个变体应用相同的“主体”?
不,您想要的语法是不可能的;如果您有多种类型但数量相同,我什至不知道您的语法如何工作:
enum MyEnum {
A(bool),
B(String),
}
Run Code Online (Sandbox Code Playgroud)
我是否必须匹配所有变体并为每个变体应用相同的“主体”?
是的,但您可以使用模式在单个匹配臂中匹配它们:
enum MyEnum {
A(bool),
B(String),
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1155 次 |
最近记录: |