defaultparamclosuretest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 42 行
GROOVY
42 行
class DefaultParamClosureTest extends GroovyTestCase {
void testDefaultParameters() {
// Default parameters working for closures
def doSomething = { a, b = 'defB', c = 'defC' ->
println "Called with a: ${a}, b ${b}, c ${c}"
return a + "-" + b + "-" + c
}
def value = doSomething("X", "Y", "Z")
assert value == "X-Y-Z"
value = doSomething("X", "Y")
assert value == "X-Y-defC"
value = doSomething("X")
assert value == "X-defB-defC"
shouldFail { doSomething() }
}
void testDefaultTypedParameters() {
// Handle typed parameters
def doTypedSomething = { String a = 'defA', String b = 'defB', String c = 'defC' ->
println "Called typed method with a: ${a}, b ${b}, c ${c}"
return a + "-" + b + "-" + c
}
def value = doTypedSomething("X", "Y", "Z")
assert value == "X-Y-Z"
value = doTypedSomething("X", "Y")
assert value == "X-Y-defC"
value = doTypedSomething("X")
assert value == "X-defB-defC"
value = doTypedSomething()
assert value == "defA-defB-defC"
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?