目录
方法 函数 闭包
方法
定义方法
在 Groovy 中定义方法的参数时无需指定参数类型。
def say(name){
println name
}
指定参数的默认值
def say(name,word = "Hello ") {
println word + name
}
say("Jack") //Hello Jack
say("Mary","Good bye ") //Good bye Mary
返回值
Groovy 总是会自动返回方法最后一个表达式的值,无需手动调用 return 语句。
def add(x,y) {
x += x
y += y
x + y
}
assert 16 == add(3,5)
A:
只在必要时显示使用 return 语句
函数字面值
概述
- 函数字面值的定义和使用都近似方法,但是其可以被赋值给变量,从而可以被传递和执行
- 定义了一个函数字面值又被称为定义了一个闭包,从形式上看是由
{}
包围的代码块,是一个可执行的代码块 - 闭包实际是一个匿名内部类的对象
- 闭包可以嵌套,方法不能嵌套
定义一个闭包
与方法不同,没有表示参数的括号,而多了等号
def excite = { word ->
return "${word}!!"
}
使用默认参数
def d = {name,address = 'Shanghai'->}
调用闭包
assert "Groovy!!" == excite("Groovy")
assert "Java!!" == excite.call("Java")
it
it
表示闭包内部的单个参数,所以定义闭包时如果只有单个参数,可以按如下方式简写
def learn = {
it
}
assert "Groovy" == learn("Groovy")
A:
使用 it 来表示单个参数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。