Ваш пример является частным случаем чего-то объясненного здесь :
let x = 5;
let number = match x {
1 => "one",
2 => "two",
3 => "three",
4 => "four",
5 => "five",
_ => "something else",
};
Рассмотрим последний случай (_
), который соответствует чему-то, что не упоминалось ранее.Компилятор не жалуется на пропущенные случаи (поскольку «все остальное» включено в последнюю ветвь).
Ваш пример по сути такой же: A match
с одной единственной рукой, которая покрывает все.Вы могли бы также написать _
вместо _whatever_string
или другой идентификатор - который затем мог бы использоваться в соответствующем плече.
Таким образом, этот match
просто сопоставляет и выполняет операторы в своем единственном плече.,Компилятор видит, что одна ветка покрывает все, и не нужно жаловаться.