gpt4 book ai didi

select - Swift 中的复杂大小写值

转载 作者:行者123 更新时间:2023-11-30 10:20:14 25 4
gpt4 key购买 nike

从外观上看,Swift 有一个相当漂亮的 switch 语句(至少与其他 C 衍生物相比),因为您可以使用值、列表、元组、范围等。

它的顺序处理性质使得这是一种非常合乎逻辑的方法,但我想知道它是否支持更多任意对象进行检查,例如变量和其他通用表达式,例如 with:

let check = 7
switch (value) {
case check:
println("exact");
case check * 2:
println("twice");
case check * 3:
println("thrice");
case valueInDb("mytable","mycolumn"):
println ("value in database");
default:
println("some other value");
}

最佳答案

你正在做的事情被称为“表达模式”

来自this document :

An expression pattern represents the value of an expression. Expression patterns appear only in switch statement case labels.

The expression represented by the expression pattern is compared with the value of an input expression using the Swift standard library ~= operator. The matches succeeds if the ~= operator returns true. By default, the ~= operator compares two values of the same type using the == operator.

...

expression-patternexpression­

因此您可以在 switch case 中使用任何“表达式”,并且默认情况下,它将使用 == 进行比较运算符。

关于select - Swift 中的复杂大小写值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27162418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com