groovy用戶指南

groovy用戶指南

ID:40554183

大小:205.50 KB

頁數(shù):26頁

時間:2019-08-04

groovy用戶指南_第1頁
groovy用戶指南_第2頁
groovy用戶指南_第3頁
groovy用戶指南_第4頁
groovy用戶指南_第5頁
資源描述:

《groovy用戶指南》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、集合(1)List(java.util.List)list=[1,2,'hello',newjava.util.Date()]assertlist.size()==4assertlist.get(2)=='hello'注意:一切都是對象(數(shù)字會自動轉(zhuǎn)換)(2)Map(java.util.Map)map=['name':'James','location':'London']assertmap.size()==2assertmap.get('name')=='James'(3)遍歷集合list=[1,2,3]for(iinlist){printlni

2、}?2、?閉包(Closures)l????????閉包類似Java的內(nèi)類,區(qū)別是閉包只有單一的方法可以調(diào)用,但可以有任意的參數(shù)closure={param->println("hello${param}")}closure.call("world!")closure={greeting,name->println(greeting+name)}closure.call("hello","world!")l????????閉包用“{}”括起,“->”前面是參數(shù),后面是處理語句,使用call調(diào)用l????????第一個例子演示了在字符串內(nèi)使用參數(shù)的形

3、式:${param}l????????第二個例子演示了多參數(shù)形式:用“,”分隔參數(shù)l????????如果只有一個參數(shù),可以不寫,而使用缺省的參數(shù)“it”,如下面的例子:closure={println"hello"+it}closure.call("world!")?3、eachl????????遍歷集合,逐個傳遞給閉包[1,2,3].each{item->print"${item}-"}l????????上面例子的輸出結(jié)果是:1-2-3-?4、collectl????????遍歷集合,逐個傳遞給閉包,處理后的結(jié)果返回給對應(yīng)的項value=[1,2

4、,3].collect{it*2}assertvalue==[2,4,6]與each區(qū)別:value2=[1,2,3].each{it*2}printlnvalue2value3=[1,2,3].collect{it*2}printlnvalue3結(jié)果:[1,2,3][2,4,6]返回值不同?5、findl????????根據(jù)閉包斷言,返回集合中找到的第一個項目value=[1,2,3].find{it>1}assertvalue==2?6、findAlll????????根據(jù)閉包斷言,返回集合中所有找到的項目value=[1,2,3].findA

5、ll{it>1}assertvalue==[2,3]?7、injectl????????遍歷集合,第一次將傳遞的值和集合項目傳給閉包,將處理結(jié)果作為傳遞的值,和下一個集合項目傳給閉包,依此類推value=[1,2,3].inject('counting:'){str,item->str+item}assertvalue=="counting:123"value=[1,2,3].inject(0){count,item->count+item}assertvalue==6?8、everyl????????如果集合中所有項目都匹配閉包斷言,就返回tru

6、e,否則返回falsevalue=[1,2,3].every{it<5}assertvalue?value=[1,2,3].every{item->item<3}assert!value?9、anyl????????如果集合中任何項目匹配閉包斷言,就返回true,否則返回falsevalue=[1,2,3].any{it>2}assertvalue?value=[1,2,3].any{item

7、item>3}assertvalue==false?10、?????????????min/maxl????????返回集合中的最小/最大項目(對象必須可比

8、較)value=[9,4,2,10,5].max()assertvalue==10value=[9,4,2,10,5].min()assertvalue==2value=['x','y','a','z'].min()assertvalue=='a'?11、?????????????joinl????????連接集合中的值成一個字符串value=[1,2,3].join('-')assertvalue=='1-2-3'?12、?????????????yieldl????????在Python和Ruby中通過yield語句創(chuàng)建“yield”風(fēng)格的it

9、erators,在Groovy同樣有效,只是使用的是閉包classFoo{?staticvoidmain(args){fo

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。