如何不将闭包(closure)赋值给变量即可直接获取其返回值
正确单行实现代码
Groovy 支持直接将闭包调用表达式作为断言的左值,不需要额外定义中间变量存储返回结果,你之前的写法误用了冒号语法,正确写法如下:
assert myclosure(sdfsdf: "sdfsdf") == "somestring"
如果需要显式声明传入的是 Map 类型参数,也可以写为:
assert myclosure([sdfsdf: "sdfsdf"]) == "somestring"
以上两种写法都和你原来两行代码的执行逻辑完全一致。
内容的提问来源于stack exchange,提问作者red888
相关产品推荐
相关产品推荐

