Особенности работы с Groovy

В этой статье рассмотрим некоторые особенности работы с Groovy на примерах. Начиная с Java 11, исходный код Groovy можно выполнять как обычный скрипт. Чтобы это работало, необходимо, чтобы скрипт содержал код вне определения класса либо класс с методом main, либо Runnable, либо же GroovyTestCase:

В качестве строк в Groovy используются Java Strings с одинарными кавычками, а также GStrings с 2-ми кавычками.

При этом Groovy неявно генерирует методы, обеспечивая тем самым доступ к переменным (setColor(String color) и getColor()):

Если же нужен доступ к спискам, массивам и отображениям, Groovy делает это просто и последовательно:

Следующий момент -- сlosure (замыкание). Речь идет об анонимной функции и объекте в одном виде:

При этом return совершенно не обязательно указывать в функции — по умолчанию вернется значение последней упомянутой переменной.

Что касается передачи параметров в методы, функции либо замыкания, то делать это можно без скобок:

Ниже -- параметры с установленными значениями:

А теперь приведем пример множественного присваивания переменных:

Очередной момент -- если мы запустим новый поток с объявлением ключевого слова "as", мы, по сути, приведем объект Thread к интерфейсу Runnable:

Что касается неизменяемых классов, то их маркируют посредством аннотации Immutable:

Далее стоит упомянуть Traits -- интерфейс и его стандартную реализацию и состояние в одном месте:

Остается сказать пару слов про встроенный менеджер зависимостей Grape -- он дает возможность подгружать нужные библиотеки и файлы из репозиториев maven в случае вызова из командной строки (файл -- testJetty.groovy):

По материалам https://ru.wikipedia.org/wiki/Groovy.