不能按现状完成......代码
def myMethod(pParm1='1', pParm2='2'){
println "${pParm1}${pParm2}"
}
基本上使 groovy 创建以下方法:
Object myMethod( pParm1, pParm2 ) {
println "$pParm1$pParm2"
}
Object myMethod( pParm1 ) {
this.myMethod( pParm1, '2' )
}
Object myMethod() {
this.myMethod( '1', '2' )
}
一种替代方法是将可选的 Map 作为第一个参数:
def myMethod( Map map = [:], String mandatory1, String mandatory2 ){
println "${mandatory1} ${mandatory2} ${map.parm1 ?: '1'} ${map.parm2 ?: '2'}"
}
myMethod( 'a', 'b' ) // prints 'a b 1 2'
myMethod( 'a', 'b', parm1:'value' ) // prints 'a b value 2'
myMethod( 'a', 'b', parm2:'2nd') // prints 'a b 1 2nd'
显然,记录这一点以便其他人知道魔法中map
发生了什么以及默认值是留给读者的;-)