一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Swift - swift where與匹配模式的實例詳解

swift where與匹配模式的實例詳解

2021-01-06 15:11追到夢的魔術師 Swift

這篇文章主要介紹了swift where與匹配模式的實例詳解的相關資料,這里附有簡單的示例代碼,講的比較清楚,需要的朋友可以參考下

swift where匹配模式的實例詳解

前言:

在眾多 Swift 提供給 Objective-C 程序員使用的新特性中,有個特性把自己偽裝成一個無聊的老頭,但是卻在如何優雅的解決“鞭尸金字塔“的問題上有著巨大的潛力。很顯然我所說的這個特性就是 switch 語句, 對于很多 Objective-C 程序員來說,除了用在 Duff's Device 上比較有趣之外,switch 語句非常笨拙,與多個 if 語句相比,它幾乎沒有任何優勢。

1、基本使用

Swift中switch語句case后面可以用where對條件進行限制

?
1
2
3
4
5
6
7
8
9
10
let point = (3,3)
switch point{
case let (x,y) where x == y:
  print("It's on the line x == y!")
case let (x,y) where x == -y:
  print("It's on the line x == -y!")
case let (x,y):
  print("It's just an ordinary point.")
  print("The point is ( \(x) , \(y) )")
}

2、使用if - case - where語句替代switch語句的使用方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let age = 19
switch age{
case 10...19:
  print("You're a teenager.")
default:
  print("You're not a teenager.")
}
 
 
if case 10...19 = age{
  print("You're a teenager.")
}
 
if case 10...19 = age where age >= 18{
  print("You're a teenager and in a college!")
}

注意:case條件必須放在”=”之前

swift 3.0以后if case 后面的”where”用”,”代替

3、if-case 與元組組合使用(元組解包使用)

?
1
2
3
4
let vector = (4,0)
if case ( let x , 0 ) = vector where x > 2 && x < 5{
  print("It's the vector!")
}

4、case - where 與循環組合使用

?
1
2
3
4
5
6
7
8
9
for i in 1...100{
  if i%3 == 0{
    print(i)
  }
}
 
for case let i in 1...100 where i % 3 == 0{
  print(i)
}

使用case限制條件可以大大減少代碼量,使用起來非常方便,是swift語言的一大特色,好好掌握可以寫出很優美的簡潔的代碼

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/u012903898/article/details/52820404

延伸 · 閱讀

精彩推薦
  • Swiftmac git xcrun error active developer path 錯誤

    mac git xcrun error active developer path 錯誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環境時,出現了錯誤(mac git xcrun error active developer path)的解決辦法,希望對大家有所幫助...

    Swift教程網2232020-12-16
  • Swiftswift where與匹配模式的實例詳解

    swift where與匹配模式的實例詳解

    這篇文章主要介紹了swift where與匹配模式的實例詳解的相關資料,這里附有簡單的示例代碼,講的比較清楚,需要的朋友可以參考下...

    追到夢的魔術師14382021-01-06
  • SwiftSwift教程之基礎數據類型詳解

    Swift教程之基礎數據類型詳解

    這篇文章主要介紹了Swift教程之基礎數據類型詳解,本文詳細講解了Swift中的基本數據類型和基本語法,例如常量和變量、注釋、分號、整數、數值類型轉換等...

    Swift教程網5162020-12-18
  • SwiftSwift使用CollectionView實現廣告欄滑動效果

    Swift使用CollectionView實現廣告欄滑動效果

    這篇文章主要為大家詳細介紹了Swift使用CollectionView實現廣告欄滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Stevin的技術博客12372021-01-13
  • SwiftSwift的74個常用內置函數介紹

    Swift的74個常用內置函數介紹

    這篇文章主要介紹了Swift的74個常用內置函數介紹,這篇文章列舉出了所有的Swift庫函數,內置函數是指無需引入任何模塊即可以直接使用的函數,需要的朋友可...

    Swift教程網5802020-12-19
  • SwiftSwift中轉義閉包示例詳解

    Swift中轉義閉包示例詳解

    在Swift 中的閉包類似于結構塊,并可以在任何地方調用,下面這篇文章主要給大家介紹了關于Swift中轉義閉包的相關資料,需要的朋友可以參考下...

    小小小_小朋友11412021-12-26
  • SwiftSwift能代替Objective-C嗎?

    Swift能代替Objective-C嗎?

    這是我在網上上看到的答案,復制粘貼過來和大家分享一下,因為我和很多人一樣很關心Swift的出現對Mac開發的影響和對Objective-C的影響。...

    Swift教程網4412020-12-16
  • SwiftSwift實現多個TableView側滑與切換效果

    Swift實現多個TableView側滑與切換效果

    這篇文章主要為大家詳細介紹了Swift實現多個TableView側滑與切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    乞力馬扎羅的雪雪5822021-01-08
主站蜘蛛池模板: 人人澡 人人澡碰人人看软件 | 97视频免费人人观看人人 | 亚洲第6页| 我们中文在线观看免费完整版 | 国产亚洲人成网站天堂岛 | 日本精品久久久久中文字幕 1 | 黄瓜视频黄| 成年人免费在线视频 | 欧美精品色精品一区二区三区 | 日本xxoo动图网站欧美 | 好看华人华人经典play | 免费高清视频免费观看 | 99久久免费国内精品 | 欧美一区精品 | 好湿好紧太硬了我太爽了网站 | 国产精品视频第一区二区三区 | 奇米狠狠色| 免费国产午夜高清在线视频 | 男人的j伸到女人的屁股眼 男人吃奶动态图 | 無码一区中文字幕少妇熟女H | 日本大片在线 | 青青操在线 | 日本中出视频 | 亚洲视频在线看 | 边吃胸边膜下刺激免费男对女 | 99精品视频在线观看免费播放 | 脱了白丝校花的内裤猛烈进入 | 欧美精品综合一区二区三区 | 干妞网免费视频 | 欧美在线视频一区在线观看 | 欧美成人免费草草影院视频 | 日本厕所spy2wc | 日韩视频一区二区 | 被肉日常np高h | 日本中文字幕不卡在线一区二区 | 国产亚洲精品一区在线播 | 国产麻豆精品视频 | 521色香蕉网在线观看免费 | 羞羞一区二区三区四区片 | 出差上的少妇20p | 陈峰姚瑶全集小说无删节 |