Groovy

Содержание
Введение
Hello World
Арифметика
Кавычки
Похожие статьи

Введение

Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python , Ruby и Smalltalk.

Использует java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим java-кодом и библиотеками.

Язык может использоваться в любом java-проекте или как сценарный язык. Активно используется как Предметно-ориентированный язык для написания скриптов при работе в предметной области (от математики до обработки научных данных), а также сборки и тестирования приложений (Gradle).

Groovy завершил процесс стандартизации в Java Community Process (JSR 241).

Основные возможности языка, отличающие его от Java: как статическая, так и динамическая типизация; встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений; перегрузка операций. Замыкания в Groovy появились задолго до Java.

На Groovy создано ряд популярных веб-фреймворков, в том числе Grails и Ratpack, фреймворк для создания настольных приложений Griffon, платформа тестирования Spock.

Язык нашёл применение в качестве сценарного для расширения возможностей платформенного программного обеспечения. В частности, генератор отчётов iReport, основанный на Java-библиотеке JasperReports, позволяет встраивать в отчёты выражения на Groovy и писать на нём дополнительную логику.

Система непрерывной интеграции Jenkins позволяет использовать сценарии автоматизации, созданные на Groovy. Приложение для тестирования веб-сервисов SoapUI поддерживает написание тестовых сценариев на Groovy.

Программирование на Groovy поддерживается в основных интегрированных средах разработки, в том числе IntelliJ IDEA (начиная с версии 7 или для более ранних версий с использованием JetGroovy Plugin), Eclipse (с использованием Groovy Eclipse), Netbeans (встроен), VS Code (через расширение), Vim (через расширение).

Установка

Для Groovy нужно установить Java седьмой версии или выше.

Проверить установлена ли у вас Java можно командой

java --version

openjdk 11.0.17 2022-10-18 OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu220.04) OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu220.04, mixed mode, sharing)

Инструкция по установке Java в Windows и Linux находится здесь

Сам Groovy может быть доступен из репозитория вашей ОС

Например, в Ubuntu установку можно выполнить командой

sudo apt install -y groovy

groovy -v

Groovy Version: 2.4.17 JVM: 1.8.0_352 Vendor: Private Build OS: Linux

Hello World

class GroovyTut { static void main(String[] args) { println("Hello World"); } }

groovy groovytut.groovy

Hello World

Арифметика

class GroovyTut { static void main(String[] args) { def age = "Dog"; age = 40; println("5 + 4 = " + (5 + 4)); println("5 - 4 = " + (5 - 4)); println("5 * 4 = " + (5 * 4)); println("5 / 4 = " + (5.intdiv(4))); println("5 % 4 = " + (5 % 4)); println("5.2 + 4.4 = " + (5.2.plus(4.4))); println("5.2 - 4.4 = " + (5.2.minus(4.4))); println("5.2 * 4.4 = " + (5.2.multiply(4.4))); println("5.2 / 4.4 = " + (5.2 / 4.4)); } }

groovy groovytut.groovy

5 + 4 = 9 5 - 4 = 1 5 * 4 = 20 5 / 4 = 1 5 % 4 = 1 5.2 + 4.4 = 9.6 5.2 - 4.4 = 0.8 5.2 * 4.4 = 22.88 5.2 / 4.4 = 1.1818181818

class GroovyTut { static void main(String[] args) { println("Hello World"); def age = "Dog"; age = 40; println("3 + 2 * 5 = " + (3 + 2 * 5)); println("(3 + 2) * 5 = " + ((3 + 2) * 5)); println("age++ = " + (age++)); println("++age = " + (++age)); println("age-- = " + (age--)); println("--age = " + (--age)); } }

groovy groovytut.groovy

3 + 2 * 5 = 13 (3 + 2) * 5 = 25 age++ = 40 ++age = 42 age-- = 42 --age = 40

class GroovyTut { static void main(String[] args) { def age = "Dog"; age = 40; println("Biggest Int " + Integer.MAX_VALUE); println("Smallest Int " + Integer.MIN_VALUE); println("Biggest Float " + Float.MAX_VALUE); println("Smallest Float " + Float.MAX_VALUE); println("Biggest Double " + Double.MAX_VALUE); println("Smallest Double " + Double.MAX_VALUE); } }

groovy groovytut.groovy

Biggest Int 2147483647 Smallest Int -2147483648 Biggest Float 3.4028235E38 Smallest Float 3.4028235E38 Biggest Double 1.7976931348623157E308 Smallest Double 1.7976931348623157E308

Кавычки

class GroovyTut { static void main(String[] args) { def hosting = "Beget"; println('My hosting is ${hosting}\n'); println("My hosting is ${hosting}\n"); println("My hosting is $hosting\n"); def multString = '''I use https://eth1.ru/about/ as an antivirus software'''; println(multString); } }

groovy groovytut.groovy

My hosting is ${hosting} My hosting is Beget My hosting is Beget I use https://eth1.ru/about/ as an antivirus software

class GroovyTut { static void main(String[] args) { print("Whats your name? "); def fName = System.console().readLine(); println("Hello " + fName); print("Enter a number "); def num1 = System.console().readLine().toDouble(); print("Enter a number "); def num2 = System.console().readLine().toDouble(); printf("%.2f + %.2f = %.2f \n", [num1, num2, (num1 + num2)]); } }

groovy groovytut.groovy

Whats your name? Andrei Hello Andrei Enter a number 3 Enter a number 4 3.00 + 4.00 = 7.00

Похожие статьи
Ошибки Groovy
Make