Отличие pattern matching от классической конструкции if-else заключается в том, что pattern matching позволяет более гибко сравнивать и обрабатывать значения, распаковывать коллекции в отдельные переменные, управлять потоком выполнения. 2
Конструкция if-else — это базовая структура, которая позволяет программе выбирать между двумя путями выполнения: если условие истинно, выполняется один блок кода, если ложно — другой. 1
Pattern matching — это более продвинутый способ сравнения значений, который позволяет обрабатывать сложные структуры данных более элегантно и выразительно, чем традиционные условные операторы. 1 Он также позволяет извлечь данные из составных типов и применить действия к различным частям объектов. 3
Таким образом, основное отличие в том, что pattern matching даёт возможность обрабатывать данные шире и с большей выразительностью, чем if-else. 14