swift中 forEach 和 forIn 循環(huán)的區(qū)別

Swift 提供了forEach循環(huán)和forIn循環(huán):

class Car {
    var carArray = ["Audi","BWM","Bench"]
    
    func printUsingForLoop(){
        for car in carArray {
            print("car",car)
        }
    }
    
    func printUsingForEach(){
        carArray.forEach{ (car) in
            print("car",car)
        }
    }
}

let car = Car()
car.printUsingForLoop()
print("**********************")
car.printUsingForEach()

當(dāng)用這兩種方法循環(huán)數(shù)組的時(shí)候,如果沒(méi)有其它操作,結(jié)果是一樣的:

image.png

然而,這兩個(gè)方法在使用的時(shí)候會(huì)有一些區(qū)別需要注意:

1.在 forEach循環(huán)中,你不能使用break 或者continue 跳出當(dāng)前的循環(huán),會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。而在forIn 循環(huán)中可以使用:

image.png

2.在ForIn 循環(huán)中使用return的話,會(huì)立即跳出當(dāng)前的循環(huán)體。然而在forEach中,還會(huì)繼續(xù)遍歷剩余元素。

class Car {
    var carArray = ["Audi","BWM","Bench"]
    
    func printUsingForLoop(){
        for car in carArray {
            print("car",car)
            if(car == "Audi")
            {
               return
            }
        }
    }
    
    func printUsingForEach(){
        carArray.forEach{ (car) in
            print("car",car)
            if(car == "Audi")
            {
                return
            }
        }
    }
}

let car = Car()
car.printUsingForLoop()
print("**********************")
car.printUsingForEach()
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 前言 在swift中,我們經(jīng)常會(huì)用到的兩種快速遍歷的方法,一種是最常見(jiàn)也是最常用的for ... in ..., ...
    langkee閱讀 27,207評(píng)論 4 33
  • 控制流 for循環(huán) for-in for while循環(huán) while repeat-while 條件語(yǔ)句 if s...
    zhenyu54閱讀 914評(píng)論 0 0
  • Swift提供了多種控制流聲明。包括while循環(huán)來(lái)多次執(zhí)行一個(gè)任務(wù);if,guard和switch聲明來(lái)根據(jù)確定...
    BoomLee閱讀 1,984評(píng)論 0 3
  • 86.復(fù)合 Cases 共享相同代碼塊的多個(gè)switch 分支 分支可以合并, 寫在分支后用逗號(hào)分開。如果任何模式...
    無(wú)灃閱讀 1,429評(píng)論 1 5
  • Swift 提供了類似 C 語(yǔ)言的流程控制結(jié)構(gòu),包括可以多次執(zhí)行任務(wù)的for和while循環(huán),基于特定條件選擇執(zhí)行...
    窮人家的孩紙閱讀 721評(píng)論 1 1