Swift控制语句之switch-case
2015-10-21 11:27
519 查看
// 强大的switch,重要的是每个分支都不需要break来结束
//1、 switch可以和具体的值或是区间进行匹配
var age =
25
switch age {
case
0...11:
println("正太")
case
12...30:
println("骚年")
default:
println("大叔")
}
//2、 switch还能进行多值匹配
let name =
"路飞"
switch name {
case
"路飞","娜美","山治":
println("\(name)是海贼王里面的角色。")
case
"漩涡鸣人","佐助","小英":
println("\(name)是火影忍者里面的角色。")
default:
println("未知漫画里面的角色。")
}
//3、 switch还能进行元组匹配
// 判断坐标所在的象限
// “_”表示所有可能的值
let pos = (2,2)
switch pos {
case (0,0):
println("坐标在原点。")
case (_,0):
println("坐标在x轴上。")
case (0,_):
println("坐标在y轴上。")
case (-3...3,-3...3):
println("坐标在长宽为6的正方形内。")
default:
println("坐标位置未知!")
}
//4、 switch还能进行值绑定,也即是将匹配的值在case程序快中进行引用
// 将height的值绑定到了常量h中
// 关键字“fallthrough”表示继续对下面的case分支进行匹配
// 正常情况下每个分支只匹配一次,它的作用就是“向下穿透”
var height =
1.73
switch height {
case
let h:
println("身高:\(h)米。")
fallthrough
case
1.73:
println("匹配到1.73的case分支了。")
default:
println("嗯嗯,那啥。")
}
//5、 switch还能使用where进行额外的判断条件
// 两个case分支的匹配区间相同
// case分支的判定条件取决于后面的where语句
var height1 =
1.73
switch height1 {
case
1...3
where height1 == 1.73:
println("case 1")
case
1...3
where height1 == 2:
println("case 2")
default:
println("default君,我们又见面了。")
}
//1、 switch可以和具体的值或是区间进行匹配
var age =
25
switch age {
case
0...11:
println("正太")
case
12...30:
println("骚年")
default:
println("大叔")
}
//2、 switch还能进行多值匹配
let name =
"路飞"
switch name {
case
"路飞","娜美","山治":
println("\(name)是海贼王里面的角色。")
case
"漩涡鸣人","佐助","小英":
println("\(name)是火影忍者里面的角色。")
default:
println("未知漫画里面的角色。")
}
//3、 switch还能进行元组匹配
// 判断坐标所在的象限
// “_”表示所有可能的值
let pos = (2,2)
switch pos {
case (0,0):
println("坐标在原点。")
case (_,0):
println("坐标在x轴上。")
case (0,_):
println("坐标在y轴上。")
case (-3...3,-3...3):
println("坐标在长宽为6的正方形内。")
default:
println("坐标位置未知!")
}
//4、 switch还能进行值绑定,也即是将匹配的值在case程序快中进行引用
// 将height的值绑定到了常量h中
// 关键字“fallthrough”表示继续对下面的case分支进行匹配
// 正常情况下每个分支只匹配一次,它的作用就是“向下穿透”
var height =
1.73
switch height {
case
let h:
println("身高:\(h)米。")
fallthrough
case
1.73:
println("匹配到1.73的case分支了。")
default:
println("嗯嗯,那啥。")
}
//5、 switch还能使用where进行额外的判断条件
// 两个case分支的匹配区间相同
// case分支的判定条件取决于后面的where语句
var height1 =
1.73
switch height1 {
case
1...3
where height1 == 1.73:
println("case 1")
case
1...3
where height1 == 2:
println("case 2")
default:
println("default君,我们又见面了。")
}
相关文章推荐
- PHP8新特性之match表达式
- Apple Swift学习教程
- 三个有用的 Switch 命令
- js 中的switch表达式使用示例
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- php中switch与ifelse的效率区别及适用情况分析
- c#中switch case的用法实例解析
- Go语言中的switch用法实例分析
- php switch语句多个值匹配同一代码块应用示例
- 解析c语言switch中break语句的具体作用
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- PHP的switch判断语句的“高级”用法详解
- php中switch语句用法详解
- Repeater里switch的使用方法
- javascript使用switch case实现动态改变超级链接文字及地址
- JavaScript中switch语句的用法详解