Opt*_*ach 5
那是因为 everystruct
都有字段,因此这种模式适用于 any struct
,但不能使用 编译enum
:
struct Foo {}
fn returns_a_foo() -> Foo {
// anything that may return a Foo
}
if let Foo { .. } = returns_a_foo() {}
例如,此代码编译:
fn main() {
if let String { .. } = String::new() {}
}
游乐场。
虽然可能不是您自己编写的代码,但仍然可以编写,此外,还可以通过宏生成。请注意,这显然与enum
模式匹配不兼容:
if let Option { .. } = None {
// Compile error.
}
游乐场。
更多推荐
切换到,struct,API,enum
发布评论