[Swift]forEach詳解


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公眾號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9944939.html 
➤如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

forEach(_:)

調用以相同的順序作為序列中的每個元件上的給定的閉合for- in循環。

定義語法

func forEach(_ body: ((offset: Int, element: Base.Element)) throws -> Void) rethrows

參數

一個閉包,它將序列的元素作為參數。

以下示例中的兩個循環生成相同的輸出:

 1 let numberWords = ["one", "two", "three"]
 2 for word in numberWords {
 3     print(word)
 4 }
 5 // Prints "one"
 6 // Prints "two"
 7 // Prints "three"
 8 
 9 numberWords.forEach { word in
10     print(word)
11 }
12 // Same as above

使用方法是從一個獨特的- 環在兩個重要方面:forEachforin

您不能使用break、continue語句退出當前的body閉包調用或跳過后續調用。

使用閉包中的return語句body將僅從當前調用退出body,而不是從任何外部作用域退出,並且不會跳過后續調用。

遍歷同類型的泛型集合

 1 let arr = [1,2,3,4,5,6,7,8,9]
 2 //for循環
 3 for i in arr
 4 {
 5     print(i)
 6 }
 7 /*
 8 1
 9 2
10 3
11 4
12 5
13 6
14 7
15 8
16 9
17 */
18 
19 //forEach
20 arr.forEach
21 {
22     (element) in
23     print(element)
24 }
25 /*
26 1
27 2
28 3
29 4
30 5
31 6
32 7
33 8
34 9
35 */

遍歷不同類型的泛型集合

 1 let array = [1,2,3,4,5,"6","7","8","9"] as [Any]
 2 //for循環
 3 for element in array
 4 {
 5     //判斷類型
 6     if element is Int
 7     {
 8         print(element)
 9     }
10 }
11 /*
12 1
13 2
14 3
15 4
16 5
17 */
18 
19 //forEach
20 array.forEach 
21 {
22     (element) in
23     //判斷類型
24     if element is String
25     {
26         print(element)
27     }
28 }
29 /*
30 6
31 7
32 8
33 9
34 */

is: 用來判斷某一個對象是否是某一特定的類,返回一個bool類型的值。

as:類型對象轉換

as?:非強制類型轉換,轉換不成功返回nil

as !:強制類型轉換,轉換不成功拋出異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM