拜托,有谁可以解释为什么这有效?
Int
我理解 guard / if / while / for case 如何与枚举一起使用。模式匹配很棒。但这里没有枚举,这也有效。什么是允许的语言结构?
(这个例子来自Matt Neuburg的书。)
答案 0 :(得分:3)
它是if case
构造。 (guard
只是一个负面if
,如果你明白我的意思。)
这个结构的全部思想是它允许你在利用switch case模式匹配的同时使用普通的if
或guard
。主要用途是在没有重量级switch
构造的情况下从枚举中提取相关值,但是您可以在条件有条理匹配的任何地方使用它(如此处所示)。