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()
}

Вопрос: Какой вариант лучше, или, быть может, они на низком уровне даже не отличаются?


Ответы (0 шт):