位置:首頁 > 高級語言 > Swift教學 > Swift閉包是引用類型

Swift閉包是引用類型

閉包是引用類型(Closures Are Reference Types)

上麵的例子中,incrementBySevenincrementByTen是常量,但是這些常量指向的閉包仍然可以增加其捕獲的變量值。 這是因為函數和閉包都是引用類型。

無論您將函數/閉包賦值給一個常量還是變量,您實際上都是將常量/變量的值設置為對應函數/閉包的引用。 上麵的例子中,incrementByTen指向閉包的引用是一個常量,而並非閉包內容本身。

這也意味著如果您將閉包賦值給了兩個不同的常量/變量,兩個值都會指向同一個閉包:

let alsoIncrementByTen = incrementByTen
alsoIncrementByTen()
// 返回的值為50