小于或大于Swift switch语句
我熟悉switch
Swift中的语句,但想知道如何用来替换这段代码switch
:
if someVar < 0 { // do something
} else if someVar == 0 {
// do something else
} else if someVar > 0 {
// etc
}
回答:
这是一种方法。假设someVar
是Int
或其他Comparable
,则可以选择将操作数分配给新变量。这样,您就可以使用where
关键字来对其进行范围划分:
var someVar = 3switch someVar {
case let x where x < 0:
print("x is \(x)")
case let x where x == 0:
print("x is \(x)")
case let x where x > 0:
print("x is \(x)")
default:
print("this is impossible")
}
可以简化一下:
switch someVar {case _ where someVar < 0:
print("someVar is \(someVar)")
case 0:
print("someVar is 0")
case _ where someVar > 0:
print("someVar is \(someVar)")
default:
print("this is impossible")
}
您还可以where
完全避免关键字与范围匹配:
switch someVar {case Int.min..<0:
print("someVar is \(someVar)")
case 0:
print("someVar is 0")
default:
print("someVar is \(someVar)")
}
以上是 小于或大于Swift switch语句 的全部内容, 来源链接: utcz.com/qa/401813.html