swift 中switch 的新用法

前端之家收集整理的这篇文章主要介绍了swift 中switch 的新用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. let grage = "B"
  2. switch grade {
  3. case "A":
  4. println("优秀等级")
  5. case "B"
  6. println("良好等级")
  7. case "C"
  8. printf("中等的等级")
  9. default:
  10. printf("未知等级")
  11. }
  12.  
  13.  
  14. switch 语句在Switch
  15. C 语言中
  16. 如果case的结尾中没有break 就会执行下一个case
  17.  
  18. Swift
  19.  
  20. 不需要在每一个case后面增加break
  21. 执行完case对应的代码后默认会自动退出switch 语句
  22.  
  23. 每一个case后面必须有可执行的语句
  24. 1case后面可以填写多个匹配条件 条件之间用逗号隔开
  25. let score = 95
  26. switch score/10{
  27. case 10,9:
  28. case 8,7,6:
  29. default:
  30. }
  31.  
  32.  
  33. case 后面可以填写一个范围匹配
  34. let score = 95
  35. switch socre{
  36. case 90...100:
  37. println("A")
  38. case 60...89:
  39. println("B")
  40. default:
  41. println(C)
  42.  
  43. }
  44. //注意
  45. switch 要保证处理所有可能的情况 不然编译器会报错
  46. 因此 这里的default一定要加 不然会出现一些处理不到的情况
  47.  
  48.  
  49. case 还可以匹配元组
  50. 这是与OC 一个不一样的地方 方便使用
  51. //例如 判断一个点在蓝色句型 框内
  52. let point = (1,1)
  53. switch point{
  54. case (0,0):
  55. println("这个点在原点上")
  56. case (_,0):
  57. println("这个点在x轴上")
  58. case (0,_):
  59. println("这个点在y轴上")
  60. case (-2...2,-2...2)
  61. println("这个点在矩形框内")
  62.  
  63. }
  64.  
  65. case 的数值绑定
  66. case匹配的同时 可以讲switch中的值绑定给一个特定的变量或者常量
  67. 以便在case后面的语句中使用
  68. let point = (10,0)
  69. switch point{
  70. case (let x,0):
  71. println("这个点在x轴上,x值是\(x)")'
  72. case (0,let y):
  73. println("这个点在y轴上,y的值是\(y)")
  74. case let (x,y):
  75. printf("这个点的x值是\(x),y值是\(y)")
  76. }
  77. //打印:这个点在x 轴上 x 值是\(y)
  78. 注意观察 这里是没有default 的 所有default不是必须的
  79. 但是case 必须处理所有的情况
  80.  
  81.  
  82. where 这个语法是特别好用的 比以前的判断简单多了
  83. switch 语句可以使用where 来增加判断条件
  84. //比如判断一个点是否在一条线上
  85.  
  86. var point = (10,-10)
  87. switch point{
  88. case let (x,y) where x == y:
  89. println("这个点在绿色的线上")
  90. case let (x,y) where x == -y:
  91. println("这个点在紫线上")
  92. default :
  93. printf("这个点不在这两条线上")
  94.  
  95. }
  96. //打印:这个点在紫线上
  97.  
  98.  
  99. fallthrough 的用法
  100. 执行完当前的case后 会执行fallthrogh 后面的的case
  101. 或者default
  102. let num = 20
  103. var str = "\(num)是个"
  104. switch num{
  105. case 0...50:
  106. str += "0~50之间的"
  107. fallthrough
  108. default:
  109. str += "整数"
  110. }
  111. println(str)
  112. //打印 : 20 是个0~50之间的整数
  113. 注意:fallthrough后面的case条件不能定义变量和常量
  114.  
  115.  
  116.  
  117.  
  118.  

猜你在找的Swift相关文章