swift 学习笔记(16)-switch 语句

swich 语句
选择情况比较多的时候,一个情况可以设定为一个 case

比如判断今天是星期几

var week = 6
switch week  {
var week = 6
switch week  {
case 1:
    print("星期一")
case 2:
    print("星期二")
case 3:
    print("星期三")
case 4:
    print("星期四")
case 5:
    print("星期五")
case 6:
    print("星期六")
case 7:
    print("星期日")
default:
    print("qingshuruzhengquede")
}

匹配条件,有多种方式的匹配

// 字符串的模式匹配
// 满足哪个就执行哪个 case 中的语句,在 oc 中是不可以的

var name = "ls"
switch name {
case "zs":
    print("zhangsan")
    //break 是隐形默认添加的,不用手动写
// break
case "ls":
    print("lisi")
// break

default:
    print("qita")
}
// 字符串的模式匹配
// 满足哪个就执行哪个 case 中的语句,在 oc 中是不可以的

var name = "ls"
switch name {
case "zs":
    print("zhangsan")
// break
case "ls":
    print("lisi")
// break


default:
    print("qita")
}
//区间匹配

var num = 80
switch num {
case 0:
    print("缺考")
case 0 ..< 60:
    print("及格")
case 60..<80:
    print("良好")
case 80..<100:
    print("优秀")
default:
     print("未知情况")
}

元组在switch 中的运用

let image = UIImageView(image: UIImage(named: "zuobiaotu"))
let pointA = (x:10,y:-10)
switch pointA {
case (0,0):
    print("该点在原点")
case (0,_):
    print("该点在x轴")
case (_,0):
    print("该点在y轴")
case (0...Int.max,0...Int.max):
    print("该点在第一象限")
case (-Int.max...0,0):
    print("该点在第二象限")
case (-Int.max...0,-Int.max...0):
    print("该点在第三象限")
case (0...Int.max,-Int.max...0):
    print("该点在第四象限")

default:
     print("未知情况")
}
//swith 中使用值绑定 与 where 语句
// 可以增加一个 where 的判断语句

let point2 = (2,2)
switch point2 {
case (let x,let y) where (x == y ):
    print("point 在 x=y 的方程线上")
case (let x,let y) where (x == -y ):
    print("point 在 x=-y 的方程线上")

default:
    print("其他情况")
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...