groovy - 为什么 Groovy 闭包声明一个最大值,而不是常量数量的参数

标签 groovy closures

在声明一个闭包时,我们可以使用以下方法查询它接受的参数数量:

Closure#getMaximumNumberOfParameters()

例如:
def closure = { String param ->
}
println(closure.maximumNumberOfParameters)

将输出:
1

为什么该方法将参数数量声明为最大值而不是常量?

在什么情况下这个方法的返回值会与闭包中声明的实际参数数量不同?

最佳答案

默认参数?

def closure = { String param = 'something' ->
}

所以你可以在技术上调用
closure()


closure('something else')

关于groovy - 为什么 Groovy 闭包声明一个最大值,而不是常量数量的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32680213/

相关文章:

swift - 如何将闭包类型的 let 属性初始化为指向某个方法的指针?

ios - 如何使用 Swift 回调闭包在 Controller 、检查器之间传递数据

reactjs - 在 React.memo 中使用 React 功能组件时如何解决闭包问题?

java - 在 Groovy 中查找一个月的第 n 个工作日

groovy - 将 Groovy 脚本响应传输到 SOAP UI 5.21 中的属性

groovy - 如何使用 "execute"使 groovy 脚本可移植?

model-view-controller - 在域内容更改时更新Grails VIEW

Gradle 或 Groovy - 如何将 URL 转换为文件?

javascript - 关闭返回?

javascript - JavaScript 中闭包的实际用途是什么?