Основное отличие match-case от switch-case в других языках программирования заключается в том, что match используется для сопоставления шаблонов, а switch — для проверки равенства. 1
Конструкция switch позволяет проверять значение переменной на равенство списку значений. 1 Значение этого выражения последовательно сравнивается со значениями, помещёнными после операторов case, и если совпадение будет найдено, то выполняется определённый блок case. 3 В конце блока case ставится оператор break, чтобы избежать выполнения других блоков. 3
Конструкция match также принимает некоторое выражение и сравнивает его с набором значений. 3 В отличие от switch, конструкция match возвращает некоторый результат. 3 После каждого сравнимого значения ставится оператор =>, после которого идёт возвращаемый результат. 3
Ещё одно отличие заключается в том, что switch сравнивает только значение, но не учитывает тип выражения, тогда как match также учитывает тип сравниваемого выражения. 3