繼續把closure在那兩本書該跟大家分享的做一個結束吧~
最重要的但卻一開始沒說的是closure語法,有以下三種語法
{ statements } //最一般常用
{ -> statements} //好像比較少看到,其實跟第一種差異不大?
{[type] param(, [type] param2)-> statements} //程式碼可以存取param參數
另外collection如list, map等each, collect, any等方法除了後面直接Closure程式碼,也可以先行定義Closure變數,呼叫時在傳入Closure變數即可
最後一個errortypeClosure將發生例外,因原本的list的參數型別是String,宣告Double會告知型別應為String。
最後一種宣告closure的變型是將method轉換成closure,使用.& 這個operator,示意圖及example如下