浅谈Swift编程中switch与fallthrough语句的使用

 更新时间:2015年11月03日 17:43:58   投稿:goldensun  
这篇文章主要介绍了Swift编程中switch与fallthrough语句的使用,用于基本的流程控制,需要的朋友可以参考下

在 Swift 中的 switch 语句,只要第一个匹配的情况(case) 完成执行,而不是通过随后的情况(case)的底部,如它在 C 和 C++ 编程语言中的那样。以下是 C 和 C++ 的 switch 语句的通用语法:

复制代码 代码如下:

switch(expression){
   case constant-expression  :
      statement(s);
      break; /* optional */
   case constant-expression  :
      statement(s);
      break; /* optional */
 
   /* you can have any number of case statements */
   default : /* Optional */
      statement(s);
}

在这里,我们需要使用 break 语句退出 case 语句,否则执行控制都将落到下面提供匹配 case 语句随后的 case 语句。

语法
以下是 Swift 的 switch 语句的通用语法:

复制代码 代码如下:

switch expression {
   case expression1  :
      statement(s)
      fallthrough /* optional */
   case expression2, expression3  :
      statement(s)
      fallthrough /* optional */
 
   default : /* Optional */
      statement(s);
}

如果不使用 fallthrough 语句,那么程序会在 switch 语句执行匹配 case 语句后退出来。我们将使用以下两个例子,以说明其功能和用法。

示例 1
以下是 Swift 编程 switch 语句中不使用 fallthrough 一个例子:

复制代码 代码如下:

import Cocoa

var index = 10

switch index {
   case 100  :
      println( "Value of index is 100")
   case 10,15  :
      println( "Value of index is either 10 or 15")
   case 5  :
      println( "Value of index is 5")
   default :
      println( "default case")
}


当上述代码被编译和执行时,它产生了以下结果:

Value of index is either 10 or 15

示例 2
以下是 Swift 编程中 switch 语句带有 fallthrough 的例子:

复制代码 代码如下:

import Cocoa

var index = 10

switch index {
   case 100  :
      println( "Value of index is 100")
      fallthrough
   case 10,15  :
      println( "Value of index is either 10 or 15")
      fallthrough
   case 5  :
      println( "Value of index is 5")
   default :
      println( "default case")
}


当上述代码被编译和执行时,它产生了以下结果:

Value of index is either 10 or 15
Value of index is 5

相关文章

  • Swift中Optional值的链式调用学习笔记

    Swift中Optional值的链式调用学习笔记

    这篇文章主要介绍了Swift中Optional值的链式调用学习笔记,Optional链是Swift入门学习中的基础知识,需要的朋友可以参考下
    2016-07-07
  • Swift中的指针操作和使用详细介绍

    Swift中的指针操作和使用详细介绍

    这篇文章主要介绍了Swift中的指针操作和使用详细介绍,Apple期望在Swift中指针能够尽量减少登场几率,因此在Swift中指针被映射为了一个泛型类型,并且还比较抽象,本文详细讲解了Swift中指针的相关知识,需要的朋友可以参考下
    2015-01-01
  • Swift 4.0中如何引用3.0的第三方库

    Swift 4.0中如何引用3.0的第三方库

    这篇文章主要给大家介绍了关于在Swift 4.0中如何引用3.0第三方库的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • SwiftUI List在MacOS中的性能优化示例

    SwiftUI List在MacOS中的性能优化示例

    这篇文章主要为大家介绍了SwiftUI List在MacOS中的性能优化示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Swift中switch语句区间和元组模式匹配

    Swift中switch语句区间和元组模式匹配

    这篇文章主要介绍了Swift中switch语句区间和元组模式匹配的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • swift4 使用DrawerController实现侧滑菜单功能的示例代码

    swift4 使用DrawerController实现侧滑菜单功能的示例代码

    这篇文章主要介绍了swift4 使用DrawerController实现侧滑功能的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • LeetCode 题解 Swift 有效的完全平方数

    LeetCode 题解 Swift 有效的完全平方数

    这篇文章主要为大家介绍了LeetCode 题解 Swift 有效的完全平方数方案示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • SpringBoot3.0集成Redis缓存的实现示例

    SpringBoot3.0集成Redis缓存的实现示例

    缓存就是一个存储器,常用 Redis作为缓存数据库,本文主要介绍了SpringBoot3.0集成Redis缓存的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 通过示例分析Swift单例模式

    通过示例分析Swift单例模式

    这篇文章主要介绍了通过示例分析Swift单例模式的三种方法,分别是全局变量,内部变量,dispatch_once方式,有需要的小伙伴可以参考下。
    2015-06-06
  • 详解如何在SwiftUI中创建悬浮操作按钮

    详解如何在SwiftUI中创建悬浮操作按钮

    悬浮操作按钮(Floating Action Button, FAB)是一种在 Android 和 Material Design 中使用的 UI 元素,它用于触发特定屏幕的主要操作,下面我们就来详细介绍一下如何在SwiftUI中创建悬浮操作按钮,需要的朋友可以参考下
    2023-10-10

最新评论