亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

Swift編程中的switch...case語句實例解析

2020-03-09 17:48:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Swift編程中的switch...case語句實例解析,其中重點還是對于fallthrough關鍵字用法的講解,需要的朋友可以參考下
 

Swift中的switch...case語句可以判斷對象類型, Objective-C中則必須是整數。
不可以穿透,可以不寫break,

var rank = "A"switch rank{  case "A": //相當于if    print("優")  case "B": // 相當于else if    print("優")  case "C": // 相當于else if    print("優")  default: // 相當于else    print("沒有評級")}


因為不能穿透所以不能這么寫

var rank1 = "A"switch rank1{  case "A":  case "B":    print("優")  case "C":    print("優")  default:    print("沒有評級")}


只能這么寫

var rank1 = "A"switch rank1{  case "A", "B": // 注意OC不能這樣寫    print("優")  case "C":    print("差")  default:    print("沒有評級")}

不能不寫default

var rank2 = "A"switch rank2{  case "A":    print("優")  case "B":    print("良")  case "C":    print("差")}

default位置只能在最后

var rank3 = "A"switch rank3{  default:    print("沒有評級")  case "A":    print("優")  case "B":    print("良")  case "C":    print("差")}

在case中定義變量不用加大括號

var rank4 = "A"switch rank4{  case "A":    var num = 10    print("優")  case "B":    print("良")  case "C":    print("差")  default:    print("沒有評級")}

區間和元祖匹配

var num = 10;switch num{  case 1...9:    print("個位數")  case 10...99:    print("十位數")  default:    print("其它數")}
var point = (10, 15)switch point{  case (0, 0):    print("坐標在原點")  case (1...10, 10...20): // 可以在元祖中再加上區間    print("坐標的X和Y在1~10之間")  case (_, 0): // X可以是任意數    print("坐標的X在X軸上")  default:    print("Other")}

值綁定

var point = (1, 10)switch point{  case (var x, 10): // 會將point中X的值賦值給X    print("x= /(x)")  case (var x, var y): // 會將point中XY的值賦值給XY    print("x= /(x) y= /(y)")  case var( x, y):    print("x= /(x) y= /(y)")  default:    print("Other")}

根據條件綁定

var point = (100, 10)switch point{  // 只有where后面的條件表達式為真才賦值并執行case后的語句  case var(x, y) where x > y:     print("x= /(x) y= /(y)")  default:    print("Other")}

fallthrough關鍵字
Swift語言中的switch不會從上一個case分支落入到下一個case分支中。相反,只要第一個匹配到的case分支完成了它需要執行的語句,整個switch代碼塊完成了它的執行。相比之下,C語言要求你顯示的插入break語句到每個switch分支的末尾來阻止自動落入到下一個case分支中。Swift語言的這種避免默認落入到下一個分支中的特性意味著它的switch 功能要比C語言的更加清晰和可預測,可以避免無意識地執行多個case分支從而引發的錯誤。
 
如果你確實需要C風格的落入(fallthrough)的特性,你可以在每個需要該特性的case分支中使用fallthrough關鍵字。下面的例子使用fallthrough來創建一個數字的描述語句。

let integerToDescribe = 5 var description = "The number /(integerToDescribe) is" switch integerToDescribe { case 2, 3, 5, 7, 11, 13, 17, 19:   description += " a prime number, and also"   fallthrough default:   description += " an integer." } println(description) // prints "The number 5 is a prime number, and also an integer." 

這個例子定義了一個String類型的變量description并且給它設置了一個初始值。函數使用switch邏輯來判斷integerToDescribe變量的值。當integerToDescribe的值屬于列表中的質數之一時,該函數添加一段文字在description后,來表明這個是數字是一個質數。然后它使用fallthrough關鍵字來"落入"到default分支中。default分支添加一段額外的文字在description的最后,至此switch代碼塊執行完了。
 
如果integerToDescribe的值不屬于列表中的任何質數,那么它不會匹配到第一個switch分支。而這里沒有其他特別的分支情況,所以integerToDescribe匹配到包含所有的default分支中。
 
當switch代碼塊執行完后,使用println函數打印該數字的描述。在這個例子中,數字5被準確的識別為了一個質數。
 
NOTE:fallthrough關鍵字不會檢查它下一個將會落入執行的case中的匹配條件。fallthrough簡單地使代碼執行繼續連接到下一個case中的執行代碼,這和C語言標準中的switch語句特性是一樣的。



注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97成人精品视频在线观看| 北条麻妃一区二区在线观看| 欧美成在线观看| 欧美大片免费看| 欧美激情精品久久久久久黑人| 国语自产精品视频在线看| 日本高清视频精品| 91影视免费在线观看| 亚洲欧美变态国产另类| 国产精品www网站| 国产丝袜一区视频在线观看| 日韩福利视频在线观看| 色综合久久悠悠| 中文字幕欧美视频在线| 久久久久久一区二区三区| 精品日本美女福利在线观看| 欧美大学生性色视频| 国产精品主播视频| 91精品综合视频| 亚洲系列中文字幕| 成人在线播放av| 欧美福利小视频| 在线视频一区二区| 日韩免费在线免费观看| 91久久国产精品91久久性色| 日韩av一区二区在线观看| 国a精品视频大全| 亚洲国产福利在线| 伊人久久久久久久久久久| 亚洲精品aⅴ中文字幕乱码| zzjj国产精品一区二区| 亚洲人成网在线播放| 亚洲va码欧洲m码| 日韩电影在线观看永久视频免费网站| 亚洲影院色在线观看免费| 98视频在线噜噜噜国产| 久久精品国产成人精品| 久久久久久久久电影| 亚洲一区二区三区香蕉| 91久久夜色精品国产网站| 亚洲精品视频在线观看视频| 欧美黑人xxxⅹ高潮交| 成人午夜一级二级三级| 国产精品一区=区| 中文字幕在线看视频国产欧美在线看完整| 92国产精品久久久久首页| 九九久久久久99精品| 亚洲性生活视频| 97成人精品视频在线观看| 国产精品国产三级国产aⅴ9色| 欧美视频精品一区| 国产精品青草久久久久福利99| 色综合老司机第九色激情| 亚洲的天堂在线中文字幕| 久久免费精品日本久久中文字幕| 久久久久久69| 高跟丝袜欧美一区| 欧美日韩一区二区免费视频| 国产噜噜噜噜噜久久久久久久久| 亚洲人在线视频| 一区二区三区回区在观看免费视频| 91系列在线观看| 成人久久18免费网站图片| 97视频在线观看视频免费视频| 亚洲国产精品久久久久| 欧美寡妇偷汉性猛交| 亚洲天堂成人在线视频| 日韩在线播放av| 精品国内产的精品视频在线观看| 久久久久久国产精品| 这里只有精品在线播放| 久久久97精品| 欧美又大粗又爽又黄大片视频| 懂色aⅴ精品一区二区三区蜜月| 午夜精品久久久久久久99黑人| 日本一欧美一欧美一亚洲视频| 日韩国产欧美区| 国产精品美女久久久久av超清| 欧美一级淫片aaaaaaa视频| 亚洲欧美另类人妖| 欧美一区二区三区精品电影| 91精品国产91久久久久久| 久久99久国产精品黄毛片入口| 久久久久久久久久婷婷| 日本a级片电影一区二区| 国产中文字幕亚洲| 免费av一区二区| 国产精品成人一区二区| 久久艳片www.17c.com| 97在线视频免费观看| 欧美猛少妇色xxxxx| 国内精品视频在线| 亚洲欧美日韩中文在线制服| 91久热免费在线视频| 97精品一区二区三区| 亚洲国产美女久久久久| 九九热这里只有在线精品视| 97欧美精品一区二区三区| 久久国产视频网站| 欧美精品福利视频| 51ⅴ精品国产91久久久久久| 国产精品自拍视频| 国产精品一香蕉国产线看观看| 日韩免费高清在线观看| 国产成人精品久久亚洲高清不卡| 日韩一区二区精品视频| 最近日韩中文字幕中文| 国产精品jvid在线观看蜜臀| 日韩av不卡电影| 亚洲精品乱码久久久久久金桔影视| 亚洲欧美综合另类中字| 国产精品视频男人的天堂| 国产+成+人+亚洲欧洲| 久久影视电视剧凤归四时歌| 日本久久久久久久久| 亚洲伊人久久综合| 日韩精品免费在线视频| 热久久免费国产视频| 亚洲欧美一区二区精品久久久| 亚洲二区在线播放视频| 亚洲国产精品电影| 青青草99啪国产免费| 日韩在线观看视频免费| 成人激情电影一区二区| 亚洲va久久久噜噜噜久久天堂| 日韩欧美国产一区二区| 国产日韩综合一区二区性色av| 91成人在线观看国产| 欧美性猛交xxxx黑人| 国产欧美va欧美va香蕉在| 欧美与黑人午夜性猛交久久久| 欧美成人h版在线观看| 国产综合久久久久| 国产香蕉97碰碰久久人人| 欧美午夜片在线免费观看| 久久99国产精品自在自在app| 日韩少妇与小伙激情| 国产精品视频1区| 97视频人免费观看| 日韩欧美精品在线观看| 日韩精品极品在线观看| 精品国产一区二区三区久久久狼| 亚洲精品国产美女| 欧美性极品少妇精品网站| 中文字幕一精品亚洲无线一区| 97久久精品视频| 欧美日韩综合视频网址| 欧美小视频在线观看| 欧美日韩亚洲精品一区二区三区| 疯狂欧美牲乱大交777| 日韩成人av在线| 欧美激情第99页| 欧美孕妇孕交黑巨大网站| 亚洲精品一区中文字幕乱码| 亚洲free性xxxx护士白浆| 欧美午夜www高清视频| 欧美夜福利tv在线| 欧美一级视频在线观看| 成人网欧美在线视频| 国产精品久久91| 成人av在线亚洲| 久久中文字幕国产| 国产精品91一区| 欧美亚州一区二区三区|