• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >swift > 详解Swift的switch...case语句中break关键字的用法

详解Swift的switch...case语句中break关键字的用法

作者:Matt Galloway 字体:[增加 减小] 来源:互联网 时间:2017-05-28

Matt Galloway 通过本文主要向大家介绍了swift switch,taylor swift,swift,swift code是什么意思,taylor swift好听的歌等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

与Objective-C中这部分内容相比,在Swift中switch得到了极大的改善。这是一件非常有趣的事,因为这还是没有添加到Objective-C中,还是没有打破Objective-C是C的超集的事实。

第一件令人兴奋的地方是可以对字符串转换。这也许正是你之前想要做,却不能做的事。在Objective-C中如果要对字符串用“switch”,你必须要使用多个if语句,同时要用isEqualToString:,像下面这样:

if ([person.name isEqualToString:@"Matt Galloway"]) {
 NSLog(@"Author of an interesting Swift article");
} else if ([person.name isEqualToString:@"Ray Wenderlich"]) {
 NSLog(@"Has a great website");
} else if ([person.name isEqualToString:@"Tim Cook"]) {
 NSLog(@"CEO of Apple Inc.");
} else {
 NSLog(@"Someone else);
}
</div>

这样可阅读性不强,也要打很多字。同样的功能在Swift中实现如下:

switch person.name {
 case "Matt Galloway":
 println("Author of an interesting Swift article")
 case "Ray Wenderlich":
 println("Has a great website")
 case "Tim Cook":
 println("CEO of Apple Inc.")
 default:
 println("Someone else")
}
</div>

除了对字符串可以使用switch之外,请注意这里一些有趣的事情。没有看见break。因为在switch中一个case语句执行完成后就不再向下执行。不会再偶然地出现bug!

再比如这样的情况下

let vegetable = "red pepper"
switch vegetable{
 case "celery":
  let vegetableComment = "Add some raisins and make ants on a log."
 case "cucumber","watercress":
  let vegetableComment = "That would make a good tea sandwich."

 
 //switch支持所有类型的数据,以及多种比较运算——没有限制为必须是整数,也没有限制为必须测试相等(tests for equality 真的是这样翻译的吗?)
 case let x where x.hasSuffix("pepper"):
  let vagetableComment = "Is it a spicy \(x)?"

 //switch语句要求必须覆盖所有的可能,否则报错'switch must be exhaustive, consider adding a default cla'
 default:
  print("不能没有default")
}

</div>

不需要写break,
执行完匹配到的case后,程序会跳出switch,而不是继续执行下一个case,所以不需要在case的代码后面添加break来跳出switch。

下面的switch语句可能会扰乱你的思路,所以准备好了!

switch i {
case 0, 1, 2:
 println("Small")
case 3...7:
 println("Medium")
case 8..10:
 println("Large")
case _ where i % 2 == 0:
 println("Even")
case _ where i % 2 == 1:
 println("Odd")
default:
 break
}
</div>

首先,这出现了一个break。因为switch必须要全面而彻底,它们需要处理所有的情况。在这种情况下,我们想要default时不做任何事,所以放置了一个break来表明此处不应该发生任何事。
接下来有趣的事情是你在上面看到的…和..,这些是新的操作符,用于来定义范围。前者用来定义范围包括右边的数字,后者定义的范围不包括右边的数字。它们真是超乎想象地有用。

最后一件事是可以把case定义成对输入值的计算。在上面这种情况下,如果这个值不匹配从0到10,如果是偶数打印“Even”,是奇数打印“Odd”。太神奇了!

 

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Swift中swift中的switch 语句
  • Swift中switch语句区间和元组模式匹配
  • Swift开发中switch语句值绑定模式
  • Swift编程中的switch...case语句实例解析
  • 详解Swift的switch...case语句中break关键字的用法
  • 深入解析Swift中switch语句对case的数据类型匹配的支持
  • 举例讲解Swift编程中switch...case语句的用法
  • 浅谈Swift编程中switch与fallthrough语句的使用

相关文章

  • 2017-05-28通过一个map替换字符串中指定的字符变量方法
  • 2017-05-28Swift中的指针操作和使用详细介绍
  • 2017-05-28SSM框架+Plupload实现分块上传大文件示例
  • 2017-05-28实例讲解Swift中引用类型的ARC自动引用计数
  • 2017-05-28Swift中的可变参数函数介绍
  • 2017-05-28Swift让输入框跟随键盘弹起避免输入输入法挡住输入框问题
  • 2017-05-28深入解析Swift中switch语句对case的数据类型匹配的支持
  • 2017-05-28List集合对象中按照不同属性大小排序的实例
  • 2017-05-28Swift实现Selection Sort选择排序算法的实例讲解
  • 2017-05-28Swift中的指针操作详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Swift中内置的集合类型学习笔记
    • Swift与Objective C的简单对比
    • Swift 结构体
    • 10个惊艳的Swift单行代码
    • MyBatis快速入门之环境搭建和单表映射
    • 关于swift的个人小结
    • Swift中Optional值的链式调用学习笔记
    • Swift 3.0基础学习之枚举类型
    • Swift的开发环境搭建以及基本语法详解
    • 详解Swift的switch...case语句中break关键字的用法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有