match guard или pattern matching
Есть у нас две реализации сопоставления
Вариант через guard:
match event {
WindowEvent::CloseRequested => target.exit(),
WindowEvent::KeyboardInput {
event,
..
} if event.state == Pressed && event.logical_key == Key::Named(NamedKey::Escape) => target.exit()
}
И по шаблону:
match event {
// В данном случае мы можем использовать `|`
WindowEvent::CloseRequested
| WindowEvent::KeyboardInput {
event: KeyEvent {
logical_key: Key::Named(NamedKey::Escape),
state: ElementState::Pressed,
..
},
..
} => target.exit()
}
Вопрос: Какой вариант лучше, или, быть может, они на низком уровне даже не отличаются?