Groovy Учебное пособие по сценариям для начинающих

Что такое Groovy Сценарий?

Apache Groovy является объектно-ориентированным и Java синтаксически совместимый язык программирования, созданный для Java платформа. Этот динамический язык имеет множество функций, похожих на Python, Ruby, Smalltalk и Pero. Groovy исходный код компилируется в Java Байт-код, чтобы он мог работать на любой платформе, на которой установлена ​​JRE. Groovy также выполняет множество задач за сценой, что делает его более маневренным и динамичным.

Groovy язык может использоваться в качестве языка сценариев для Java платформа. Это почти супер версия Java который предлагает Javaвозможности предприятия. Он также предлагает множество функций повышения производительности, таких как поддержка DSL, замыкания и динамическая типизация. В отличие от некоторых других языков, он создан как дополнение, а не замена Java.

почему Groovy?

Вот основные причины, почему вам следует использовать и изучать Groovy-

  • Groovy это гибкий и динамичный язык
  • Полная интеграция со всеми существующими Java объекты и библиотеки
  • Ощущается легко и естественно Java застройщиков
  • Более краткий и содержательный код по сравнению с Java
  • Вы можете использовать его столько или меньше, сколько захотите, с Java Программы

Groovy История

  • 2003: Разработан Бобом Маком.Whirтер и Джеймс Страчан
  • 2004: Введен в эксплуатацию в JSR 241, но от него отказались.
  • 2005: Возвращены Джереми Рейнером и Гийомом Лафоржем.
  • 2007: Groovy версия 1.0
  • 2012: Groovy версия 2
  • 2014: Groovy версия 2.3 (официальная поддержка JDK 8)
  • 2015: Groovy стал проектом Apache Software Foundation

Особенности Groovy

  • Список, карта, диапазон, литералы регулярных выражений
  • Мультиметод и метапрограммирование
  • Groovy классы и скрипты обычно хранятся в файлах .groovy
  • Скрипты содержат Groovy операторы без какого-либо объявления класса.
  • Скрипты также могут содержать определения методов вне определений классов.
  • Его можно скомпилировать и полностью интегрировать с традиционными Java Приложение.
  • Поддержка языкового уровня для карт, списков, регулярных выражений.
  • Поддерживает замыкания, динамическую типизацию, протокол метаобъектов.
  • Поддержка статической и динамической типизации и перегрузки операторов.
  • Литеральное объявление списков (массивов), карт, диапазонов и регулярных выражений.

Как установить Groovy

Шаг 1) Убедитесь, что у вас есть Java установлен.

Шаг 2) Перейдите на http://groovy-lang.org/download.html и нажмите «Установщик».

устанавливать Groovy

Примечание. Вы также можете установить Groovy используя ZIP-файл или как Eclipse IDE. В этом Groovy учебник, мы будем придерживаться Windows монтажник

Шаг 3) Запустите скачанный установщик. Выберите язык и нажмите ОК

устанавливать Groovy

Шаг 4) Запуск. На экране приветствия нажмите «ДАЛЕЕ».

устанавливать Groovy

Шаг 5) Согласен с условиями лицензии

устанавливать Groovy

Шаг 6) Выберите компоненты, которые хотите установить, и нажмите «ДАЛЕЕ».

устанавливать Groovy

Шаг 7) Выберите каталог установки и нажмите «ДАЛЕЕ».

устанавливать Groovy

Шаг 8) Выберите папку меню «Пуск» и нажмите «ДАЛЕЕ».

устанавливать Groovy

Шаг 9) После завершения установки оставьте пути по умолчанию и нажмите «ДАЛЕЕ».

устанавливать Groovy

Шаг 10) Нажмите кнопку "Далее

устанавливать Groovy

Шаг 11) В стартовом меню найдите Groovy Консоли

устанавливать Groovy

Groovy Пример Hello World

Предположим, мы хотим напечатать простую строку «Hello World» в Java. Код для получения строки Groovy Привет, мир, было бы

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Приведенный выше код действителен как в Java и Groovy as Groovy это надмножество Java. Но преимущество с Groovy заключается в том, что мы можем отказаться от создания классов, создания общедоступных методов и т. д. и добиться того же результата с помощью однострочного кода следующим образом:

println "Hello World."

Точки с запятой не нужны

Нет необходимости в скобках

System.out.println сокращается до println

Groovy Переменные показатели

In Javaстатическая привязка обязательна. Это означает, что тип переменной должен быть объявлен заранее.

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

В приведенном выше примере этого Groovy В учебнике тип переменной (целое) объявляется заранее с использованием ключевого слова «int». Если вам нужно объявить число с плавающей запятой, вы используете ключевое слово float.

Если вы попытаетесь присвоить строковое значение int (ракомментируйте строку №5), вы получите следующую ошибку:

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

В противоположность, Groovy поддерживает динамическую типизацию. Переменные определяются с помощью ключевого слова «def», и тип переменной не нужно объявлять заранее. Компилятор определяет тип переменной во время выполнения, и вы даже можете определить тип переменной.

Рассмотрим следующий забавный пример:

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

Вывод:

class java.lang.Integer
class java.lang.String

In Groovy, вы можете создавать многострочные строки. Просто убедитесь, что вы заключили строку в тройные кавычки.

def x = """Groovy
at
Guru99"""
println x

Вывод:

Groovy
at
Guru99

Внимание: вы по-прежнему можете использовать такие типы переменных, как byte, short, int, long и т. д., с помощью Groovy. Но вы не можете динамически изменять тип переменной, как вы его явно объявили.

Рассмотрим следующий код:

int x = 104
println x
x = "Guru99"

Это дает следующую ошибку

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Command exited with non-zero status 1

Groovy-OperaTORs

Оператор — это символ, который сообщает компилятору выполнить определенные математические или логические манипуляции.

Groovy имеет следующие пять типов операторов –

  • Арифметические операторы: сложение (+), вычитание (-), умножение (*), деление (/).
  • Операторы отношения: равно (==), не равно (!=), Less чем (<) Less больше или равно (<=), больше (>), больше или равно (>=)
  • Логические операторы: И (&&), Или(||), Не(!)
  • Побитовые операторы: And(&), Or(|), (^), Xor или оператор Exclusive-or.
  • Операторы присваивания: оператор отрицания (~).

Groovy-Петли

In Java, вы бы определили цикл следующим образом

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

Вывод:

0
1
2
3
4

Вы можете добиться того же результата в Groovy использование ключевых слов до

0.upto(4) {println "$it"}

Вы получите тот же результат, что и выше. $it — замыкание, которое дает значение текущего цикла.

Рассмотрим следующий код

2.upto(4) {println "$it"}

Это дает результат

2
3
4

Вы также можете использовать ключевое слово «times», чтобы получить тот же результат.

5.times{println "$it"}

Предположим, вы хотите напечатать 0,2,4 с помощью для входа в цикл Java

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

Вывод:

0
2
4

Вы можете использовать метод шага для того же

0.step(7,2){println "$it"}

Groovy- Принимать решение

Отчеты Обман
если Заявление Как в Java, оператор if выполняется, если условие истинно.
Оператор if/else В операторе if/else сначала условие оценивается в операторе if. Если условие истинно, то после этого выполняются инструкции. Он останавливается перед условием else и выходит из цикла. Однако, если условие ложно, выполняются инструкции в блоке операторов else. Затем он выходит из цикла.
Вложенный оператор if Он используется, когда требуется иметь несколько операторов if.
Заявление о переключении Вложенный оператор if-else может стать нечитаемым, если у вас есть несколько условий. Чтобы сделать код более читабельным, используется оператор переключения.
Вложенный оператор Switch In Groovy также возможно использовать вложенные операторы переключения.

Groovy Список

Структура списка позволяет хранить коллекцию элементов данных. В Groovy Язык программирования, Список содержит последовательность ссылок на объекты. Он также показывает позицию в последовательности. Литерал Списка представлен как ряд объектов, разделенных запятыми и заключенных в квадратные скобки.

Пример списка Грровий:

Список строк — ['Angular', 'Nodejs,]

Список ссылок на объекты – ['Groovy', 2,4 2.6]

Список целочисленных значений – [16, 17, 18, 19]

Пустой список- [ ]

Ниже приведены методы списка, доступные в Groovy:

методы Описание
Добавить() Позволяет добавить новое значение в конец этого списка.
содержит() Возвращает true, если этот список содержит определенное значение.
получить() Возвращает элемент в определенной позиции
пустой() Возвращает истинное значение, если список не содержит элементов
минус() Эта команда позволяет создать новый Список, состоящий из элементов оригинала, за исключением тех, которые указаны в коллекции.
плюс() Позволяет создать новый список, состоящий из элементов оригинала и элементов, упомянутых в коллекции.
поп () Удаляет последний элемент из списка
Удалить() Удаляет элемент в определенной позиции
обеспечить регресс() Создайте новый список, который меняет местами элементы исходного списка.
размер() Возвращает количество элементов в этом списке
Сортировать() Возвращает отсортированную копию

Рассмотрим следующее Groovy пример сценария

def y = ["Guru99", "is", "лучших", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

Вывод:

[Guru99, is, лучших, for, Groovy]
true
лучших
Learning

Groovy Карты

Карта Groovy представляет собой набор пар ключевых значений

Примеры Groovy карты:

  • [Учебник: 'Java, Учебное пособие: 'Groovy] — Коллекция пар ключ-значение, в которой в качестве ключа используется Tutorial и соответствующие им значения.
  • [ : ] Представляет пустую карту

Вот список методов карты, доступных в Groovy.

методы Описание
containsKey () Проверить, содержит ли карта этот ключ или нет?
получить() Эта команда ищет ключ на этой карте и возвращает соответствующее значение. Если вы не найдете ни одной записи на этой карте, она вернет ноль.
keySet () Позволяет найти набор ключей на этой карте.
положил() Связывает указанное значение с заданным ключом в этой карте. Если карта ранее содержала сопоставление для этого ключа. Тогда старое значение будет заменено указанным значением.
размер() Возвращает количество сопоставлений ключ-значение.
значения() Эта команда возвращает представление коллекции значений.

Groovy Пример:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

Результат

Jen

Groovy- Замыкания

Замыкание Groovy — это фрагмент кода, завернутый в объект. Он действует как метод или функция.

Пример простого закрытия

def myClosure = {
       println "My First Closure"	
}
myClosure()

Вывод:

My First Closure

Замыкание может принимать параметры. Список идентификаторов разделяется запятой.

стрелка (->), обозначающая конец списка параметров.

def myClosure = {
       a,b,c->
       y = a+b+c
       println y
}
myClosure(1,2,3)

Вывод:

6

Замыкание может возвращать значение.

def myClosure = {
       a,b,c->
       return (a+b+c)
}
println(myClosure(1,2,3))

Вывод:

6

Существует множество встроенных замыканий, таких как «It», «identity» и т. д. Замыкания могут принимать в качестве параметров другие замыкания.

Groovy Vs. Java

Groovy Java
In Groovy, спецификатор доступа по умолчанию является общедоступным. Это означает, что метод без какого-либо указанного модификатора доступа является общедоступным и доступен за пределами границ класса и пакета. In Java, модификатором доступа по умолчанию является пакет, т.е. если вы не укажете модификатор доступа для полей, методов или класса, он станет частным для пакета,
Геттеры и сеттеры автоматически генерируются для членов класса. Javaвам необходимо определить методы получения и установки для полей
Groovy позволяет производить замену переменных, используя двойные кавычки в строках. Java не поддерживает замену переменных.
Ввод информации не является обязательным. Ввод информации обязателен в Java.
Groovy не обязательно заканчивать точкой с запятой. In Java, каждый оператор заканчивается точкой с запятой.
Groovy автоматически является классом-оболочкой под названием Script для каждой программы. In Javaвам нужен метод main, чтобы сделать исполняемый файл класса.

Мифы о Groovy

Миф Реальность
Мы можем использовать Groovy только для скриптинга. Его можно использовать для сценариев. Однако помимо этого вы можете выполнять множество других задач.
Groovy все дело в замыканиях. «Это просто функциональный язык программирования". Groovy заимствует языки функционального программирования, такие как Lisp или Closure.
Groovy идеальный выбор, если вы хотите использовать TDD Это утверждение верно. Однако это, конечно, не единственная причина использовать Groovy.
Вы можете использовать Groovy только если вы хотите использовать Grails. Grails — мощная среда веб-разработки.

Созданием цифровых двойников возможности Groovy предлагает больше, чем это.

Минусы использования Groovy

  • JVM и Groovy время запуска сценария медленное, что ограничивает выполнение сценариев на уровне ОС
  • Groovy не совсем принят в других сообществах.
  • Не удобно пользоваться Groovy без использования IDE
  • Groovy может быть медленнее, что увеличивает время разработки
  • Groovy может потребоваться много памяти
  • Знание Java обязательно.

Groovy Инструменты

В этом выпуске мы обсудим 3 важных инструмента. Groovy учебник по сценарию

1. groovysh: выполняет код в интерактивном режиме.

2. groovyConsole: графический интерфейс для интерактивного выполнения кода.

3. groovy: выполняет отличные сценарии. Вы можете использовать его как Perl, Python, и т.д.

Groovysh

  • оболочка командной строки
  • Поможет вам выполнить Groovy кодировать в интерактивном режиме
  • Позволяет вводить операторы или целые сценарии

Groovy Инструменты

Groovy консоль

  • Интерфейс Swing, который действует как минимальный Groovy редактор разработки.
  • Позволяет взаимодействовать Groovy код
  • Помогает загрузить и запустить Groovy файлы сценариев

Groovy Инструменты

Groovy

Это процессор, который выполняет Groovy программы и скрипты. ты

Его можно использовать для проверки простых Groovy выражения.

Groovy Инструменты

Резюме

  • Groovy — это объектно-ориентированный язык программирования, используемый для Java Платформа
  • Groovy скриптинг обеспечивает бесшовную интеграцию со всеми существующими Java объекты и библиотеки
  • Боб МакWhirТер и Джеймс Страчан разработали Groovy в 2003 году.
  • Список, карта, диапазон, литералы регулярных выражений — важные особенности Groovy
  • Четыре типа операторов поддерживаются Groovy 1. Реляционные 2. Логические 3. Побитовые 4. Присваивание
  • Groovy выполнил принятие решения, используя операторы if, if/else, вложенные if, switch, операторы переключения Netsted
  • Структура списка позволяет хранить коллекцию элементов данных.
  • Карта Groovy представляет собой набор пар ключевых значений
  • In Groovy, Геттеры и сеттеры автоматически генерируются для членов класса.
  • In Javaвы можете использовать методы получения и установки для полей
  • Самый большой миф о Groovy заключается в том, что его можно использовать только для сценариев, что неверно.
  • Когда-то Groovy может быть медленнее, что увеличивает время разработки
  • Три Groovy Инструменты: groovysh, который выполняет код, groovy Console, который представляет собой графический интерфейс для интерактивного выполнения кода, и groovy, который выполняет скрипты.