Groovy: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 1456:
@CompileStatic
class Factorial {}
</syntaxhighlight>
Лямбда в Java стиле:
<syntaxhighlight lang="groovy">
def inc = n -> n + 1
assert inc(1) == 2
//со стандартным параметром factor
def multiplyBy = (n, factor = 2) -> n * factor
assert multiplyBy(1) == 2
</syntaxhighlight>
Неизменяемые коллекции:
<syntaxhighlight lang="groovy">
import static groovy.test.GroovyAssert.shouldFail
// Создаем неизменяемый список
def list = ['Groovy', 'Gradle', 'Micronaut'].asUnmodifiable()
shouldFail(UnsupportedOperationException) {
// Не можем добавить новый элемент.
list << 'Java'
}
//Создаем неизменяемый ассоциативный массив
def data = [name: 'Language', subject: 'Groovy'].asUnmodifiable()
shouldFail(UnsupportedOperationException) {
// Не можем добавить новый ключ
data.key = 'Java'
}
</syntaxhighlight>