当前位置: 首页 > 面试题库 >

小于或大于Swift switch语句

鲜于德业
2023-03-14
问题内容

我熟悉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)")
}


 类似资料:
  • 问题内容: 所以我想使用这样的switch语句: 现在我知道这些语句()或()都不起作用(显然是由于不同的原因)。我要问的是最有效的方法。我讨厌使用30条语句,所以我宁愿使用switch语法。有什么我可以做的吗? 问题答案: 当我查看其他答案中的解决方案时,我看到了一些我知道对性能不利的东西。我本来要对它们发表评论,但我认为最好对其进行基准测试并分享结果。您可以自己进行测试。下面是我在每个浏览器中

  • 我有一种情况,我需要检查金额并相应地返回回复。 如果金额是 请参考请求正文中的示例json。 {“帐户名称”:“ABCZYZ”、“特殊代码”:“MYCODE”、“金额”:“100”、“货币类型”:“MYCURRENCY”} 下面是我的wiremck映射文件 {“request”:“{“urlPattern”:“/some/url”,“method”:“POST”,“bodyPatterns”:[{

  • 问题内容: 我一直在做一个Android教程,遇到了一个包含以下内容的类: 是一种按类型继承的形式吗?还是我应该了解的其他Java语法? 该类是: 问题答案: 这称为 泛型 。内的类和是一个 类型参数 。 用一个例子最容易解释: 一个可以存储项目。如果您这样指定类型参数:那么此数组列表将仅存储类型的项(换句话说,将仅存储s)! 同样,也通过类型“参数化”。将可能包含一个值,该值将与指定类型的和,而

  • 今天我注意到这个node.js代码: 给出输出 这很奇怪;如果某物不等于0或大于0,那么它为什么大于或等于0呢?发生什么事了?

  • 我目前正在Codecademy上学习JavaScript,我遇到了一些问题。我在一个叫做“建造石头,布,剪刀”的部分,有一个部分有一个条件,如果数学。random()大于0.33小于0.66,计算机将选择纸张。我的问题是,如何建立一个if条件,即某个东西大于X,但同时小于Y?

  • 我12哟,我学习Java,我想做如果语句时,它是超过1和小于或等于4,或只是2和4之间,但它不工作。我试过了 <代码>如果(4 它显示了这个错误