您当前的位置: 首页 >  swift

Swift如何更灵活的使用switch...case操作符

发布时间:2022-08-06 06:55:48 ,浏览量:0

概览

初学者在接触Swift语言中的switch…case操作符时,可能会觉得比较条件“不够灵活”。

比如,对于一些“常规”的比较操作,case可以很好的适配:

enum Size {
    case small, middle, big
}

let size = Size.middle

switch size {
case .small:
    print("s")
case .middle:
    print("m")
case .big:
    print("b")
}

这很好很强大,可是如果我们稍微改一下需求呢?

let i = 100

switch(i){
case i  0:
    print("big")
default:
    print("unknown")
}

这时,Swift毫不留情的报错了!难道这么简单的比较判断都做不了?

非也非也!

where,where,where

其实,可以再为case操作符添加where子句,进一步约束条件。

在这里,我们需要做的就是“忽略”case,直接将比较判断放在where子句中:

let i = 100

switch(i){
case _ where i  0:
    print("big")
default:
    print("unknown")
}

看一下运行结果:

或者我们还可以将i与Range来比较,效果类似:

switch i {
case (1...):
    print("big")
case 0:
    print("zero")
default:
    print("small")
}

很简单,简直小“case”,不是吗?

那么,小伙伴你们学会了吗?😉

关注
打赏
查看更多评论

暂无认证

  • 0浏览

    0关注

    115983博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录