Closures
Swift 中,可以定義一個 variable (變數) 為 function,例如:
更進一步,我們定義 greetingPrinter
的 type(型態):
其中 () -> ()
表示: greetingPrinter
為一個 function,參數為 void (第一個()
),回傳值也是 void (第二個()
)。
直接呼叫變數,就可以執行 function,例如:
輸出結果為:
Closures as Parameters
Swift 中,function 可以當成 另一個 function 的參數,例如:
輸出結果為:
Trailing Closures
此外,如果你把 function 當做「另一個 function 的 最後一個 參數」,那可以使用 Trailing Closures 的語法,讓程式碼看起來更清爽!
例如上一個範例中:
可以把 repeat
改寫成:(因為{println("Hello!")}
是最後一個參數)
輸出結果為:
下一篇: Classes