小于或大于Swift switch语句

我熟悉switchSwift中的语句,但想知道如何用来替换这段代码switch

if someVar < 0 {

// do something

} else if someVar == 0 {

// do something else

} else if someVar > 0 {

// etc

}

回答:

这是一种方法。假设someVarInt或其他Comparable,则可以选择将操作数分配给新变量。这样,您就可以使用where关键字来对其进行范围划分:

var someVar = 3

switch 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

回到顶部