最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Swift的switch...case語句中break關(guān)鍵字的用法

 更新時間:2016年04月13日 12:00:50   作者:Matt Galloway  
這篇文章主要介紹了Swift的switch...case語句中break關(guān)鍵字的用法,是Swift入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

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

第一件令人興奮的地方是可以對字符串轉(zhuǎn)換。這也許正是你之前想要做,卻不能做的事。在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中實現(xiàn)如下:

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語句執(zhí)行完成后就不再向下執(zhí)行。不會再偶然地出現(xiàn)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支持所有類型的數(shù)據(jù),以及多種比較運算——沒有限制為必須是整數(shù),也沒有限制為必須測試相等(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,
執(zhí)行完匹配到的case后,程序會跳出switch,而不是繼續(xù)執(zhí)行下一個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
}

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

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

 

相關(guān)文章

  • 詳解Swift面向?qū)ο缶幊讨械姆椒?method)

    詳解Swift面向?qū)ο缶幊讨械姆椒?method)

    既然面向?qū)ο竽蔷鸵欢〞衜ethod,方法和面向過程語言中的function函數(shù)并沒什么區(qū)別,只不過方法在面向?qū)ο笳Z言中可以被類來約束作用域,這里我們就來詳解Swift面向?qū)ο缶幊讨械姆椒?method)
    2016-07-07
  • 判斷?ScrollView List?是否正在滾動詳解

    判斷?ScrollView List?是否正在滾動詳解

    這篇文章主要為大家介紹了判斷?ScrollView、List?是否正在滾動示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 舉例講解Swift編程中switch...case語句的用法

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

    這篇文章主要介紹了Swift編程中switch...case語句的用法,其中fallthrough關(guān)鍵字在switch語句中的使用是重點,需要的朋友可以參考下
    2016-04-04
  • Swift超詳細講解指針

    Swift超詳細講解指針

    從傳統(tǒng)的C代碼和與之無縫配合的Objective-C代碼遷移到Swift并非小工程,我們的代碼庫肯定會時不時出現(xiàn)一些和C協(xié)作的地方,如果想要繼續(xù)使用那些C?API的話,了解一些基本的Swift指針操作和使用的知識會很有幫助。下面通過這篇文章一起來學(xué)習(xí)下吧。
    2022-08-08
  • Swift中的類class與結(jié)構(gòu)體struct體學(xué)習(xí)筆記

    Swift中的類class與結(jié)構(gòu)體struct體學(xué)習(xí)筆記

    和C++一樣,Swfit中同時擁有類與結(jié)構(gòu)體,能夠充分滿足開發(fā)者面向?qū)ο蠛兔嫦蜻^程編程的需求,這里我們就來看一下Swift中的類class與結(jié)構(gòu)體struct體學(xué)習(xí)筆記
    2016-07-07
  • SwiftUI 登錄界面布局實現(xiàn)示例詳解

    SwiftUI 登錄界面布局實現(xiàn)示例詳解

    這篇文章主要為大家介紹了SwiftUI 登錄界面布局實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Swift中動態(tài)調(diào)用實例方法介紹

    Swift中動態(tài)調(diào)用實例方法介紹

    這篇文章主要介紹了Swift中動態(tài)調(diào)用實例方法介紹,在Swift中有一類很有意思的寫法,可以讓我們不直接使用實例來調(diào)用這個實例上的方法,而是通過類型取出這個類型的某個實例方法的簽名,然后再通過傳遞實例來拿到實際需要調(diào)用的方法,需要的朋友可以參考下
    2015-01-01
  • 關(guān)于Swift 4.1中的Codable改進詳解

    關(guān)于Swift 4.1中的Codable改進詳解

    這篇文章主要給大家介紹了關(guān)于Swift 4.1中的Codable改進的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • swift中自定義正則表達式運算符=~詳解

    swift中自定義正則表達式運算符=~詳解

    這篇文章主要給大家介紹了關(guān)于swift中自定義正則表達式運算符=~的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 詳解swift中xcworkspace多項目管理

    詳解swift中xcworkspace多項目管理

    給大家詳細講解了IOS開發(fā)中swift語言xcworkspace多項目管理的方法和介紹,一起參考一下。
    2017-11-11

最新評論

灌南县| 汉川市| 砚山县| 景泰县| 仁化县| 福贡县| 屏东县| 崇礼县| 大埔区| 新竹县| 化德县| 正宁县| 迭部县| 汤阴县| 福贡县| 钦州市| 县级市| 浏阳市| 勃利县| 云南省| 图木舒克市| 富裕县| 东乡| 丰都县| 保康县| 海门市| 清流县| 同德县| 黔南| 华安县| 孝感市| 文登市| 大埔县| 长葛市| 梧州市| 启东市| 三穗县| 曲麻莱县| 弥渡县| 连南| 通渭县|