groovy(8)-閉包結(jié)合int

package variable

import org.codehaus.groovy.runtime.DefaultGroovyMethods

//閉包的使用

//1閉包與基本類型變量結(jié)合使用

//求指定number的階乘

int fab(int number){

????????int result=1

????????1.upto(number,{num ->result *= num})

? ? ?//1是從1開始,到number,1屬于Integer類型,所以可以直接調(diào)用.下面的方式一樣的.因?yàn)? ?upto是DefaultGroovyMethods的靜態(tài)? ?方法.

????//DefaultGroovyMethods.upto(1,number,{num->result *=num})

????return result

????//upto

}

//使用downto方法

int fab2(int number){

????????int result=1?

????????//grovvy中閉包可以不放在括號(hào)內(nèi),可以直接放在括號(hào)外.像下面這張寫法

????????number.downto(1){? ??

????????????????num->result *=num

????????}

????????return result

}

int x=fab(4)

int y=fab2(4)

println x//24 :123*4

println y//24

//累計(jì)求和

int cal(int number){

????int result

????//times方法的參數(shù)也是閉包,閉包寫在括號(hào)外是groovy中很常見的方式.times方法的實(shí)現(xiàn)循環(huán)始終是從0開始的

????number.times {? ??

????????????num->result +=num

? ? ?}

????return result

}

println cal(10)

//閉包傳遞參數(shù)類型及個(gè)數(shù)不知道時(shí),需要查看源碼方法中是如何調(diào)用的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 4,097評(píng)論 0 6
  • 【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    開心的鑼鼓閱讀 3,394評(píng)論 0 9
  • 01-常量與變量 學(xué)習(xí)swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔閱讀 5,375評(píng)論 2 19
  • 不知道她們 會(huì)不會(huì)想當(dāng)人類呢。'' 一定不想
    細(xì)雨梧桐樹閱讀 184評(píng)論 0 0
  • 死去的,是蛻變的殼 我知道這個(gè)世界上有太多的不確定,有很多事都是事與愿違,可是我啊,一直都是一個(gè)相信美好的人,無論...
    哀曲難聞閱讀 162評(píng)論 0 1

友情鏈接更多精彩內(nèi)容