? ? ? 在學(xué)習(xí)swift的時(shí)候宴倍,對(duì)于簡(jiǎn)單的函數(shù)很好理解身腻,可是對(duì)于那種跟了一大堆返回東東的函數(shù)诗越,初學(xué)者可能一開始不好理解(注意是初學(xué)者哦,對(duì)于大佬就不用看了)嘲恍,比如說柯里化(Currying)足画,我用的這個(gè)函數(shù)是喵神書中寫的一個(gè)函數(shù)(如圖一所示)
? ? ?我們先看看這個(gè)addTo()這個(gè)函數(shù),對(duì)于初學(xué)者來(lái)說蛔钙,這個(gè)函數(shù)后面都是跟著一些什么啊锌云,再往下面一看荠医,里面有兩個(gè)return吁脱,而且這個(gè)第一個(gè)return里面的這個(gè)num參數(shù)是什么桑涎?,一頭霧水兼贡。
? ? ?讓我們來(lái)仔細(xì)分析一下這個(gè)函數(shù)攻冷,addTo()這個(gè)函數(shù)其實(shí)返回的是一個(gè)函數(shù),返回的是(Int) -> Int 這個(gè)函數(shù)遍希,由于閉包函數(shù)的使用等曼,讓我們看起來(lái)這個(gè)函數(shù)不是那么明顯,現(xiàn)在讓我們把這個(gè)函數(shù)還原(如圖二)
接下來(lái)我們?cè)谟瞄]包把returnResult()這個(gè)函數(shù)進(jìn)行一步步簡(jiǎn)寫(如圖三到圖五)
? ? ? 我們現(xiàn)在可以看到圖五已經(jīng)與剛開始看不懂的圖一一模一樣了是不是凿蒜,這就是閉包的魅力禁谦,這就是swift的魅力。