★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公眾號:山青詠芝(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 !:強制類型轉換,轉換不成功拋出異常