在Swift2中的switch语句中可以比较哪种类型的值

sevenkplus

我想知道可以在switch语句中比较哪种类型的值。官方文件说:

案例可以匹配许多不同的模式,包括间隔匹配,元组和强制转换为特定类型

还有别的事吗?我可以在switch语句中比较类类型吗?

假设我有A类:

class A {
}
func == (lhs: A, rhs: A) -> Bool { return true }

然后,我可以检查A类的两个对象是否相等。但是我还是不能这样:

var a1 = A(); var a2 = A()
switch a1 {
case a2: //do something 
}

尽管我们很少编写这样的代码,但我仍然对switch语句在Swift中的工作方式非常好奇。

乐队

表达模式中所述

使用Swift标准库~=运算符将表达式模式表示的表达式与输入表达式的值进行比较

您可以定义func ~=(lhs: A, rhs: A)是否希望在switch语句中使用自定义类型

但我也建议您简单地使用Equatable协议,实施==,然后编写if a1 == a2 { ... }

实际上,标准库提供了

public func ~=<T : Equatable>(a: T, b: T) -> Bool

因此,如果您符合Equatable,则无需提供自己的~=

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Selenium 中哪种类型的“列表”方法 FindElement 存储值

来自分类Dev

在C ++中,switch语句中可以有一系列值吗?

来自分类Dev

在C ++中,switch语句中可以有一系列值吗?

来自分类Dev

iOS swift 3 如何更改 switch 语句中的类型

来自分类Dev

我可以运行哪种类型的硬盘?

来自分类Dev

switch语句中可以有多个值吗?

来自分类Dev

比较if语句中的多个值

来自分类Dev

Swift2:无法下标'[GKScore]类型的值?”

来自分类Dev

如何避免在Swift2中嵌套do / catch语句

来自分类Dev

即使应用程序关闭/关闭,哪种类型的数组也可以存储int值

来自分类Dev

无论哪种类型的值(整数,时间戳等),都可以动态计算平均值

来自分类Dev

switch语句中的数字比较失败

来自分类Dev

我的比较器应该是哪种类型

来自分类Dev

应从Angular 2中传递与Asp Net MVC中的HttpPostedFileBase类型匹配的哪种类型的数据?

来自分类Dev

无法在swift2中将字符串类型的值转换为预期的参数类型int

来自分类Dev

哪种类型的sql db可以在列中存储声音或数组数据?

来自分类Dev

存储服务器中可以使用哪种类型的硬盘驱动器

来自分类Dev

我可以使用哪种类型来表示Glass模型中的__Renderings字段?

来自分类Dev

哪种类型的数据可以存储在Agens Graph(图形数据库)中?

来自分类Dev

Swift 2:有没有办法在带有关联值的enum的switch语句中使用“默认”?

来自分类Dev

比较If语句中的数据类型

来自分类Dev

比较If语句中的数据类型

来自分类Dev

如何在switch语句中缩小类型

来自分类Dev

Java如何在if语句中评估这种类型的代码?

来自分类Dev

PrimeFaces扩展:DynaForm Control可以使用哪种类型?

来自分类Dev

我可以为此使用哪种类型的变量?

来自分类Dev

PInvoke可以使用哪种类型的字符**

来自分类Dev

PrimeFaces扩展:DynaForm Control可以使用哪种类型?

来自分类Dev

我可以使用哪种类型的变量?

Related 相关文章

  1. 1

    在 Selenium 中哪种类型的“列表”方法 FindElement 存储值

  2. 2

    在C ++中,switch语句中可以有一系列值吗?

  3. 3

    在C ++中,switch语句中可以有一系列值吗?

  4. 4

    iOS swift 3 如何更改 switch 语句中的类型

  5. 5

    我可以运行哪种类型的硬盘?

  6. 6

    switch语句中可以有多个值吗?

  7. 7

    比较if语句中的多个值

  8. 8

    Swift2:无法下标'[GKScore]类型的值?”

  9. 9

    如何避免在Swift2中嵌套do / catch语句

  10. 10

    即使应用程序关闭/关闭,哪种类型的数组也可以存储int值

  11. 11

    无论哪种类型的值(整数,时间戳等),都可以动态计算平均值

  12. 12

    switch语句中的数字比较失败

  13. 13

    我的比较器应该是哪种类型

  14. 14

    应从Angular 2中传递与Asp Net MVC中的HttpPostedFileBase类型匹配的哪种类型的数据?

  15. 15

    无法在swift2中将字符串类型的值转换为预期的参数类型int

  16. 16

    哪种类型的sql db可以在列中存储声音或数组数据?

  17. 17

    存储服务器中可以使用哪种类型的硬盘驱动器

  18. 18

    我可以使用哪种类型来表示Glass模型中的__Renderings字段?

  19. 19

    哪种类型的数据可以存储在Agens Graph(图形数据库)中?

  20. 20

    Swift 2:有没有办法在带有关联值的enum的switch语句中使用“默认”?

  21. 21

    比较If语句中的数据类型

  22. 22

    比较If语句中的数据类型

  23. 23

    如何在switch语句中缩小类型

  24. 24

    Java如何在if语句中评估这种类型的代码?

  25. 25

    PrimeFaces扩展:DynaForm Control可以使用哪种类型?

  26. 26

    我可以为此使用哪种类型的变量?

  27. 27

    PInvoke可以使用哪种类型的字符**

  28. 28

    PrimeFaces扩展:DynaForm Control可以使用哪种类型?

  29. 29

    我可以使用哪种类型的变量?

热门标签

归档