groovy學習之閉包宣告

2021-08-27 21:49:25 字數 619 閱讀 3336

簡單的宣告方式,閉包作為引數傳遞給方法

def log = ''

(1..3).each

assert log == '123'

log = ''

(1..3).each

assert log == '123'

花括號可以用來構建乙個閉包物件或者是groovy**塊

//賦值給變數

def test =

//作為方法的返回值

def closure gettest()

}

閉包物件賦值給變數,然後被方法呼叫

def map = ['a': 1, 'b': 2]

def doub =

map.each(doub)

assert map == ['a': 2, 'b': 4]

引用方法作為閉包

def map = ['a': 1, 'b': 2]

def closuretest(entry)

def closure = this.&closuretest

map.each(closure)

assert map == ['a':2, 'b':4]

Groovy閉包筆記

1.最後一行將會作為返回值 2.對於map型別,機引數列表中所有的map實參並組成map傳遞給第乙個形參。3.閉包可以設定預設值 4.it可以在有且僅有乙個未顯示宣告的引數時使用 5.閉包呼叫的標準寫法是 closurename.call 6.def定義的變數對 binding.variables....

隨筆 groovy閉包

class enclosing assert whatisthisobject this def whatisthis assert whatisthis this class enclosedininnerclass void run class nestedclosurescl assert n...

004 工具 groovy之閉包語法

目前在進行開源專案學習中,有一些專案時用gradle進行版本控制的,所以在此記錄 1 單個字元引數 def clouser1 clouser1.call clouser1 2 單個陣列引數 def clouser2 clouser2 hello clouser2.call hello clouser...