Rust可以匹配struct字段吗?例如,这段代码:
struct Point {
x: bool,
y: bool,
}
let point = Point { x: false, y: true };
match point {
point.x => println!("x is true"),
point.y => println!("y is true"),
}
应该导致:
y is true
Rust可以匹配struct字段吗?
它在"Destructuring structs"章节的Rust书中有所描述。
match point {
Point { x: true, .. } => println!("x is true"),
Point { y: true, .. } => println!("y is true"),
_ => println!("something else"),
}
你问题中提出的语法没有任何意义;看来你只想使用正常的if
语句:
if point.x { println!("x is true") }
if point.y { println!("y is true") }
我强烈建议重新阅读The Rust Programming Language,特别是章节
一旦你读完了,就应该清楚point.x
不是一个模式,因此不能在匹配臂的左侧使用它。