Enums 什么';在这个快速代码行中比较的是:.Left=aMovement{print(“Left”)}
有人能帮我理解Swift3代码段最后一行中发生了什么吗Enums 什么';在这个快速代码行中比较的是:.Left=aMovement{print(“Left”)},enums,swift3,Enums,Swift3,有人能帮我理解Swift3代码段最后一行中发生了什么吗 enum Movement { case Left case Right case Top case Bottom } let aMovement = Movement.Left // so I get all this so far ... then this: if case .Left = aMovement { print(
enum Movement {
case Left
case Right
case Top
case Bottom
}
let aMovement = Movement.Left
// so I get all this so far ... then this:
if case .Left = aMovement { print("move left") }
aMovement已经被定义,所以我不确定单个“=”到底在做什么。看起来应该是一个“==”来检查比较,但这会给出一个错误 由此:
case let x=y
模式允许您检查y
是否与
图案x
如果大小写为x=y{…}则写入严格等同于写入
switch y{case let x:…}
:它只是一种更简洁的语法
当您只想针对一种情况进行模式匹配时非常有用-如
与更适合多种情况匹配的开关相反
虽然似乎应该使用“==”,但在本例中,模式匹配是,而不是。(没有双关语)相关:,好的。。。我现在明白了。其中抛出的“case”关键字以及将其称为“切换模式匹配”有助于解释单个等式。这似乎是一个快速的疑问检查,是完整的switch语句的捷径(正式声明时必须是详尽的)。感谢有更好的意义,即使是在什么时候使用该语法而不是完整的switch语句会有所帮助!再次感谢