麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Swift > 正文

舉例講解Swift編程中switch...case語句的用法

2020-03-09 17:49:00
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了Swift編程中switch...case語句的用法,其中fallthrough關鍵字在switch語句中的使用是重點,需要的朋友可以參考下
 

Switch作為選擇結構中必不可少的語句也被加入到了Swift中,只要有過編程經(jīng)驗的人對Switch語句都不會感到陌生,但蘋果對Switch進行了大大的增強,使其擁有其他語言中沒有的特性。使用Switch語句很簡單:

var i = 0 switch i {  case 0:   "0" //被輸出  case 1:   "1"  default:   "2" } 

在這個最簡單的Switch語句中,與其他語言很不同的一點是:不用顯式的加上break。Swift的Switch語句會自動在case結尾處加上break,執(zhí)行完滿足條件的case部分后,就自動退出了。但是在某些情況下,我們可能會希望Switch能同時執(zhí)行兩條case,那么可以這樣:

var i = 3 switch i {  case 0,3:   "0" //被輸出  case 1:   "1"  default:   "2" } 

在case后的多個條件中,用逗號隔開即可。
如果就是想執(zhí)行完一條case之后,想繼續(xù)執(zhí)行下一條case,就要用到一個新的關鍵字:

var i = 0 switch i {  case 0:   "0" //被輸出   fallthrough  case 1:   "1" //被輸出  case 2:   "2"  default:   "default" } 

使用新的關鍵字fallthrough能使Switch在執(zhí)行完一個case之后,緊接著執(zhí)行下一條case。
Swift的Switch語句一定要涵蓋所有的情況,這并不是說一定要有default,只要上面的case能滿足所有的情況,就可以不用寫default。


下面我們來看一些小例子幫助理解:

例1:

let someOne = ("25","liyuanbo")switch someOne {case (_,let name) where name.hasPrefix("li"): println("First name has li") default: println("First has not li")}

這里 (_,let name) where name.hasPrefix("li") 就是在someOne2落入(_,let name)中的name有沒有前綴字符串有沒有l(wèi)i。當然someOne2是滿足這個條件的。


例2:
下面我們來看看fallthrough的用法

switch coordinate1 {case (0,0): println("原點") fallthroughcase (_,0): println("x軸") fallthroughcase(0,_): println("y軸")case(-2...2,-2...2): println("矩形區(qū)域")default: println("沒有任何目標區(qū)域") }

這樣我們可以看到打印輸出了:原點,x軸,y軸,如果繼續(xù)加,就會打印多出一個矩形區(qū)域。

最后我們要強調一點,swift中的switch一定的包含變量的所有情況,這里我們如果coordinate4是(10,10)然后把default注釋點,就會報錯,因為上面4個條件是不能滿足(10,10)這個點的。


那是不是說必須得有default,當然不是的,這要對變量的所有情況都包含,可以沒有default。

let coordinate2 = (2,0)switch coordinate2 {case (0,0): println("原點")case (let x,0): println("x軸")case(0,let y): println("y軸") case(let x,let y): println("所有區(qū)域") }

這里就可以沒有default,因為這里case(let x,let y)都包含了2維坐標的所有點。



注:相關教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲欧美日韩精品久久 | 欧美爱爱一区二区 | 精品视频 久久久 | 久久精品日韩一区 | 看毛片电影 | 国产精品视频免费在线观看 | 久久区二区 | 成人福利软件 | 特级黄一级播放 | 久久精品亚洲一区 | h视频在线免费看 | 国产精品探花在线观看 | 国产午夜免费不卡精品理论片 | 毛片大全 | 亚洲网站在线观看视频 | 久草手机在线视频 | 逼片| 精品一区二区在线播放 | 青草久久av | 亚洲99| 一级毛片手机在线观看 | 亚洲网站一区 | 亚洲午夜电影 | 亚洲天堂在线电影 | 免费视频xxxx | 国产精品久久久久久影视 | 3xxx| 成人在线免费观看视频 | 久久精品成人影院 | 羞羞答答影院 | 日韩电影av在线 | 日韩精品久久久久久久九岛 | 福利免费在线观看 | 欧美大胆xxxx肉体摄影 | 深夜视频在线观看 | 欧美激情性色生活片在线观看 | 2019天天干夜夜操 | 久久伊人国产精品 | 一区二区三区欧美日韩 | 草莓视频久久 | 99re久久最新地址获取 |