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

首頁 > 編程 > Swift > 正文

詳解Swift的switch...case語句中break關鍵字的用法

2020-03-09 17:48:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Swift的switch...case語句中break關鍵字的用法,是Swift入門學習中的基礎知識,需要的朋友可以參考下
 

與Objective-C中這部分內容相比,在Swift中switch得到了極大的改善。這是一件非常有趣的事,因為這還是沒有添加到Objective-C中,還是沒有打破Objective-C是C的超集的事實。

第一件令人興奮的地方是可以對字符串轉換。這也許正是你之前想要做,卻不能做的事。在Objective-C中如果要對字符串用“switch”,你必須要使用多個if語句,同時要用isEqualToString:,像下面這樣:

if ([person.name isEqualToString:@"Matt Galloway"]) { NSLog(@"Author of an interesting Swift article");} else if ([person.name isEqualToString:@"Ray Wenderlich"]) { NSLog(@"Has a great website");} else if ([person.name isEqualToString:@"Tim Cook"]) { NSLog(@"CEO of Apple Inc.");} else { NSLog(@"Someone else);}

這樣可閱讀性不強,也要打很多字。同樣的功能在Swift中實現如下:

switch person.name { case "Matt Galloway": println("Author of an interesting Swift article") case "Ray Wenderlich": println("Has a great website") case "Tim Cook": println("CEO of Apple Inc.") default: println("Someone else")}

除了對字符串可以使用switch之外,請注意這里一些有趣的事情。沒有看見break。因為在switch中一個case語句執行完成后就不再向下執行。不會再偶然地出現bug!

再比如這樣的情況下

let vegetable = "red pepper"switch vegetable{ case "celery":  let vegetableComment = "Add some raisins and make ants on a log." case "cucumber","watercress":  let vegetableComment = "That would make a good tea sandwich."  //switch支持所有類型的數據,以及多種比較運算——沒有限制為必須是整數,也沒有限制為必須測試相等(tests for equality 真的是這樣翻譯的嗎?) case let x where x.hasSuffix("pepper"):  let vagetableComment = "Is it a spicy /(x)?" //switch語句要求必須覆蓋所有的可能,否則報錯'switch must be exhaustive, consider adding a default cla' default:  print("不能沒有default")}

不需要寫break,
執行完匹配到的case后,程序會跳出switch,而不是繼續執行下一個case,所以不需要在case的代碼后面添加break來跳出switch。

下面的switch語句可能會擾亂你的思路,所以準備好了!

switch i {case 0, 1, 2: println("Small")case 3...7: println("Medium")case 8..10: println("Large")case _ where i % 2 == 0: println("Even")case _ where i % 2 == 1: println("Odd")default: break}

首先,這出現了一個break。因為switch必須要全面而徹底,它們需要處理所有的情況。在這種情況下,我們想要default時不做任何事,所以放置了一個break來表明此處不應該發生任何事。
接下來有趣的事情是你在上面看到的…和..,這些是新的操作符,用于來定義范圍。前者用來定義范圍包括右邊的數字,后者定義的范圍不包括右邊的數字。它們真是超乎想象地有用。

最后一件事是可以把case定義成對輸入值的計算。在上面這種情況下,如果這個值不匹配從0到10,如果是偶數打印“Even”,是奇數打印“Odd”。太神奇了!



注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕www | 国产一级在线看 | 鲁丝一区二区三区不属 | 黄色片免费看网站 | 国产乱淫av | 国产成人免费精品 | 欧美激情综合在线 | 做羞羞视频 | 久久草在线视频国产 | 亚洲性生活视频 | 99国产精成人午夜视频一区二区 | 久草在线资源福利站 | 精品一二三区视频 | 日日摸夜夜骑 | 亚洲日本欧美 | 天天躁狠狠躁夜躁2020挡不住 | www.17c亚洲蜜桃 | 国产精品jk白丝蜜臀av软件 | 久久综合给合久久狠狠狠97色69 | 九九视频久久 | 九九热精品在线 | 99麻豆久久久国产精品免费 | 神马福利网 | 国外成人在线视频 | 黄色大片免费网站 | 视频一区国产 | 黄色网页在线观看 | 国产精品jk白丝蜜臀av软件 | 欧美性猛交xxxxx按摩国内 | 天天看天天摸天天操 | vidz 98hd| 亚洲一级片在线观看 | 成人性生活视频 | 蜜桃成品人免费视频 | 黄色特级| 欧美一区二区网站 | 在线成人免费观看www | 国产精品一区二区三区在线播放 | av在线免费播放网站 | 麻豆一二区 | 久久国产精品久久久久久 |