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

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之间的奇数,同时也是一个整数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值