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 используя ZIP-файл или как Eclipse IDE. В этом Groovy учебник, мы будем придерживаться Windows монтажник
Шаг 3) Запустите скачанный установщик. Выберите язык и нажмите ОК
Шаг 4) Запуск. На экране приветствия нажмите «ДАЛЕЕ».
Шаг 5) Согласен с условиями лицензии
Шаг 6) Выберите компоненты, которые хотите установить, и нажмите «ДАЛЕЕ».
Шаг 7) Выберите каталог установки и нажмите «ДАЛЕЕ».
Шаг 8) Выберите папку меню «Пуск» и нажмите «ДАЛЕЕ».
Шаг 9) После завершения установки оставьте пути по умолчанию и нажмите «ДАЛЕЕ».
Шаг 10) Нажмите кнопку "Далее
Шаг 11) В стартовом меню найдите 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 консоль
- Интерфейс Swing, который действует как минимальный 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, который выполняет скрипты.