Swift的switch结构中,fallthrough的用法注意总结

Swift的switch结构中,fallthrough的用法注意总结,第1张

概述在swift的switch中,case后面加了fallthrough的用法,就和OC的case后面没加break的用法是一样的! 使用fallthrough需要注意的有: 1.加了fallthrough后,会直接运行【紧跟的后一个】case或default语句,不论条件是否满足都会执行 var age = 10switch age { case 0...10: print

在swift的switch中,case后面加了fallthrough的用法,就和OC的case后面没加break的用法是一样的!

使用fallthrough需要注意的有:

1.加了fallthrough后,会直接运行【紧跟的后一个】case或default语句,不论条件是否满足都会执行

var age = 10switch age {    case 0...10:        print("小朋友")        fallthrough    case 11...20:        print("大朋友")    case let x:        print("\(x)岁的朋友")}//输出结果:小朋友大朋友

2.加了fallthrough语句后,【紧跟的后一个】case条件不能定义常量和变量

var age = 10switch age {    case 0...10:        print("小朋友")        fallthrough //此处报错    case let x:        print("\(x)岁的朋友")}//程序报错:'fallthrough' cannot transfer control to a case label that declares variables

原因,我理解的是:由第一点我们知道,第一个case执行完后(输出“小朋友”)会直接执行下一个case,而下一个case条件里定义了临时变量x,这样就导致直接从上一个case进来的并没有这个变量x,那如果case语句里用到了x,很明显就会出错。swift这么要求安全的一种语言自然是不允许发生这种事情的,所以,fallthrough后一个case条件里不允许定义常量/变量——除了紧跟着的后一个,后面的其他case还是可以定义常量/变量的(如第一个代码例子)

3.执行完fallthrough后直接跳到下一个条件语句,本条件执行语句后面的语句不执行

var age = 10switch age {    case 0...10:        print("小朋友")        fallthrough        print("我跳转了哦") //这一句没有执行    case 11...20:        print("大朋友")    case let x:        print("\(x)岁的朋友")}//输出结果:小朋友大朋友

如果你有任何问题,请留言告诉我!

总结

以上是内存溢出为你收集整理的Swift的switch结构中,fallthrough的用法注意总结全部内容,希望文章能够帮你解决Swift的switch结构中,fallthrough的用法注意总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存