switch 区间匹配
let 存款 = 100
var 社会评价: String
Switch 存款 {
case 1…100 : 社会评价 = “贫困”
case 101…10000 : 社会评价 = “脱贫”
case 10001…100_000 : 社会评价 = “温饱”
default : 社会评价 = “富裕”
}
switch中条件不能有冲突,switch语句会执行完第一个符合条件的语句后结束。

switch 元祖匹配
let 坐标 = (1,3)
switch 坐标 {
case (0,0) : “原点”
case (_,0) : “在X轴上”
case (0,_) : “在Y轴上”
case (-2…2,-2…2) : “在指定的值域范围内”
default : “非指定的值域范围”
}

switch 值绑定
let 坐标 = (1,4)
switch 坐标 {
case (let x,0) : “在X轴上的值是(x)”
case (0,let y) : “在Y轴上的值是(y)”
case (let x,let y) : “在X轴上的值是(x),在Y轴上的值是(y)”
} //这里的x,y是临时变量,在其他地方是失效的。

switch 值筛选
let 坐标 = (-1,2)
switch 坐标 {
case let(x,y) where x == y: “((x),(y))的横坐标和纵坐标相等”
case let(x,y) where (x > 0 && y > 0: “((x),(y))在第一象限”
case let(x,y) : “在X轴上的值是(x),在Y轴上的值是(y)”
}

控制转移语句 continue
一个循环停止,进入下一个循环,resume。
let 网址列表 = [“qq.com”,”google.hk”,”baidu.com”,”facebook.com”]
for 网址 in 网址列表 {
swtich 网址 {
case let url where (网址.hasPrefix(“facebook”) || 网址.hasSuffix(“hk”)) : continue //遇到敏感的网址直接结束本次循环,执行下一次循环。
default : println(“即将为您打开(网址)”)
}
}

break语句
与continue的区别在于continue只用于循环中,而break可以用于循环和switch中。
跳出一个循环,执行下面的语句
let 学历网址列表 = [“developer.apple.com”,
“google.com”,
“baidu.com”,
“qq.com”,
“wikipedia.org”,
“sf.net”,
“github.com”,
“jamesonquave.com”]
for 网址 in 学习网址列表 {
if 网址.hasSuffix(“qq.com”) {
break
}
println(网址)
}

//对网址进行分类
let url = “”
var 可能的网址分类 : String? //不给值默认为空
switch url {
case “developer.apple.com”,”wikipedia.org” : 可能的网址分类 = “知识库网站”
case “github.com”,”sf.net” : 可能的网址分类 = “swift源码站”
case “developer.apple.com”,”wikipedia.org” : 可能的网址分类 = “知识库网站”
case “jamesonquave.com” : 可能的网址分类 = “个人博客”
case “google.com”,”baidu.com” : 可能的网址分类 = “资料搜索”
default : break
}
if let url2 = 可能的网址分类 {
println(“这个网址是(url2)”)
} else {
println(“您的网址不是可能的swift类学习网址”)
}
println(“学习结束”)

fallthrough let 数字 = 3 switch 数字 { case 1,3,5,7,9 : print(“(数字)是1到10之间的奇数”) fallthrough default : print(“,同时也是一个整数”) } //两句都执行,结果为 3是1到10之间的奇数,同时也是一个整数

【swift】15-0525 控制流---switch break continue fallthrough的更多相关文章

  1. 寒城攻略:Listo 教你 25 天学会 Swift 语言 - 07 Control Flow

    importFoundation//***********************************************************************************************//1.ControlFlow(控制流)//_________________________________________________________________

  2. Swift语法基础:17 - Swift的For循环, While, Do-While, If, Switch

    在Swift中,也有控制流,分别是For,For-In,For条件递增,While,Do-While等等,让我们一起来探讨一下:1.For循环在Swift中提供两种循环,一种是For-In,另一种是For条件递增,先来看第一种:如果你不需要知道范围内每一项的值,你可以使用下划线(_)替代变量名来忽略对值的访问:在前面数组和字典的遍历就已经举过例子了,所以这里就不再列举了.2.For条件递增在Swi

  3. Swift语法基础:19 - Swift的控制转移的语句, Continue, Break, Fallthrough, Labeled Statements

    当在一个switch代码块中使用break时,会立即中断该switch代码块的执行,并且跳转到表示switch代码块结束的大括号(})后的第一行代码。Swift语言的这种避免默认落入到下一个分支中的特性意味着它的switch功能要比C语言的更加清晰和可预测,可以避免无意识地执行多个case分支从而引发的错误。fallthrough简单地使代码执行继续连接到下一个case中的执行代码,这和C语言标准中的switch语句特性是一样的。

  4. Swift教程11-条件分支循环语句_强大的Switch case

    Swift的条件分支语句与C语言的有一些不同,特别是Switch.Case语句.功能十分强大.1.if/else分支结构Swift中,ifelse语句你可以不用写那个每次都需要写的圆括号了,刚开始也许不习惯,但是习惯之后你却再也回不去了...Swift的if语句写法如下:但是请注意,请勿省略花括号,否则会报错!

  5. Swift学习—流程控制

    知识点:forin循环中的变量可以使用下划线_,意思是不需要用到此变量,系统就不会给变量分配存储空间switch中case后面必须有可执行的语句,如果有许多结果需要执行同一个语句的话,swift支持多条件匹配switch支持范围匹配switch可以匹配元组数据switch可以绑定数值switch中的case可以使用where来增加判断条件fallthrough关键字,当执行完前case后,会接着执行fallthrough后面的case或者default语句,fallthrough后面的case语句中的判断

  6. 【swift】15-0525 控制流---switch break continue fallthrough

    switch区间匹配let存款=100var社会评价:StringSwitch存款{case1…switch元祖匹配let坐标=(1,3)switch坐标{case(0,0):“原点”case(_,0):“在X轴上”case(0,_):“在Y轴上”case(-2…switch值筛选let坐标=switch坐标{caselet(x,y)wherex==y:“的横坐标和纵坐标相等”caselet(x,y)where(x>0&&y>0:“((x),(y))在第一象限”caselet(x,y):“在X轴上的值是(

  7. [翻译]Swift编程语言——控制流

    控制流for、while、if、switch和C基本一样for-in扩展forSwift的switch比C语言的要强大。当语句被执行后,index的值被范围内的第二个数字2替换,循环体内的语句被再次执行。for-int同样可以使用在遍历字符串中字符的情形下:for一般的形式:和C语言不同的就是缺少了圆括号。Swift提供两个格式的while:1:while在每次执行循环体前判断条件。如果到达或超过25号格子,循环条件检查为假,游戏结束。继续执行if括号后的内容。

  8. Swift - 流程控制

    switch分支语句switch语句由一个控制表达式和多个case标签组成。不存在隐式贯穿与C语言和Objective-C中的switch语句不同,在Swift中,当匹配的case分支中的代码执行完毕后,程序会终止switch语句,而不会继续执行下一个case分支。For循环Swift提供两种for循环形式以来按照指定的次数多次执行一系列语句:for-in循环对一个集合里面的每个元素执行一系列语句。Swift有四种控制转移语句:continue、break、fallthrough、return、throw

  9. 可以匹配就匹配咯: 详解 Swift 的模式匹配

    怒戳查看最终稿@SwiftGG在众多Swift提供给Objective-C程序员使用的新特性中,有个特性把自己伪装成一个无聊的老头,但是却在如何优雅滴解决“鞭尸金字塔“的问题上有着巨大的潜力。很显然我所说的这个特性就是switch语句,对于很多Objective-C程序员来说,除了用在Duff’sDevice上比较有趣之外,switch语句非常笨拙,与多个if语句相比,它几乎没有任何优势。不过Sw

  10. swift学习Day04

    虽然工作不是很顺利,但是学习还需要继续。今天继续学习swift语言中控制流。控制流内容主要包括:forwhileifswitch控制转移语句for循环:while循环:另外的一种while循环语句:if判断语句:switch语句:控制转移语句:break,continue,return不再解释fallthrough这个可以解释为贯穿,使用在switch语句中。

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部