Учебное пособие по сценариям 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.
Отличная история
- 2003 г. – разработка Боба МакВиртера и Джеймса Страчана.
- 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. https://www.guru99.com/install-java.html
Шаг 2) Перейдите по адресу http://groovy-lang.org/download.html и нажмите «Установщик».
Примечание. Вы также можете установить Groovy с помощью Zip-файла или в качестве Eclipse IDE. В этом руководстве по Groovy мы будем использовать установщик Windows
Шаг 3) Запустите скачанный установщик. Выберите язык и нажмите OK
<сильный> сильный>
Шаг 4) Запуск. На экране приветствия нажмите ДАЛЕЕ
<сильный> сильный>
Шаг 5) Согласен с условиями лицензии
<сильный> сильный>
Шаг 6) Выберите компоненты, которые хотите установить, и нажмите ДАЛЕЕ
<сильный> сильный>
Шаг 7) Выберите Каталог установки и нажмите ДАЛЕЕ
<сильный> сильный>
Шаг 8) Выберите папку меню «Пуск» и нажмите «ДАЛЕЕ».
Шаг 9) После завершения установки оставьте пути по умолчанию и нажмите ДАЛЕЕ
Шаг 10) Нажмите ДАЛЕЕ
Шаг 11) В меню «Пуск» найдите Groovy Console
Пример Groovy Hello World
Предположим, мы хотим напечатать простую строку «Hello World» в Java. Код для получения строки Groovy hello world будет
01
Приведенный выше код действителен как в Java, так и в Groovy, поскольку Groovy является надмножеством Java. Но преимущество Groovy заключается в том, что мы можем отказаться от создания классов, создания общедоступных методов и т. д. и добиться того же результата с помощью однострочного кода следующим образом:
10пре>Нет необходимости в точках с запятой
Скобки не нужны
System.out.println сокращен до println
Переменные Groovy
В Java статическая привязка обязательна. Это означает, что тип переменной должен быть объявлен заранее.
28В приведенном выше примере этого руководства по Groovy тип переменной (целый) объявляется заранее с помощью ключевого слова «int». Если вам нужно объявить число с плавающей запятой, вы используете ключевое слово float.
Если вы попытаетесь присвоить значение String для int (раскомментируйте строку #5), вы получите следующую ошибку
32Напротив, Groovy поддерживает динамическую типизацию. Переменные определяются с помощью ключевого слова «def», и тип переменной не нужно объявлять заранее. Компилятор определяет тип переменной во время выполнения, и вы даже можете определить тип переменной.
Рассмотрим следующий отличный пример,
40Вывод
58В Groovy можно создавать многострочные строки. Просто убедитесь, что вы заключили строку в тройные кавычки.
61Вывод
73Примечание :Вы по-прежнему можете использовать переменные типы, такие как byte, short, int, long и т. д., с помощью Groovy. Но вы не можете динамически изменить тип переменной, поскольку вы явно объявили его.
Рассмотрим следующий код:
80Выдает следующую ошибку
90Groovy-Операторы
Оператор — это символ, который указывает компилятору выполнить определенные математические или логические манипуляции.
В Groovy есть следующие пять типов операторов —
- Арифметические операторы:сложение (+), вычитание (-), умножение (*), деление (/)
- Операции отношения:равно (==), не равно (!=), меньше (<) меньше или равно (<=), больше (>), больше или равно (>=)
- Логические операторы:И (&&), Или(||), Не(!)
- Побитовые операторы:And(&), Or(|), (^), Xor или исключающее ИЛИ.
- Операторы присваивания:оператор отрицания (~)
Groovy-циклы
В Java вы бы определили цикл следующим образом
107
Вывод
114
Вы можете добиться того же результата в Groovy, используя до ключевых слов
120
Вы получите тот же результат, что и выше. $it — это замыкание, которое возвращает значение текущего цикла.
Рассмотрим следующий код
134
Это дает результат
146
Вы также можете использовать ключевое слово «times», чтобы получить тот же результат
159
Предположим, вы хотите напечатать 0,2,4 с помощью цикла for в Java
166
Вывод:
179
Вы можете использовать пошаговый метод для того же
186
Groovy – принятие решений
Утверждения | Обман |
---|---|
Выражение if | Как и в Java, оператор if выполняется, если условие истинно. |
Утверждение if/else | В операторе if/else сначала оценивается условие в операторе if. Если условие истинно, то после этого выполняются операторы. Он останавливается перед условием else и выходит из цикла. Однако, если условие ложно, выполняются операторы в блоке операторов else. Затем он выходит из цикла. |
Вложенный оператор If | Он используется, когда требуется наличие нескольких операторов if. |
Заявление о переключении | Вложенный оператор if-else может стать нечитаемым при наличии нескольких условий. Чтобы сделать код более читабельным, используется оператор switch. |
Вложенный оператор Switch | В Groovy также можно использовать вложенные операторы switch. |
Отличный список
Структура списка позволяет хранить набор элементов данных. В языке программирования Groovy список содержит последовательность ссылок на объекты. Он также показывает положение в последовательности. Литерал списка представлен в виде набора объектов, разделенных запятыми и заключенных в квадратные скобки.
Пример списка Grrovy:
Список строк — [‘Angular’, ‘Nodejs,]
Список ссылок на объекты — [‘Groovy’, 2,4 2.6]
Список целых значений — [16, 17, 18, 19]
Пустой список- [ ]
Ниже приведены методы списка, доступные в Groovy:
Методы | Описание |
---|---|
добавить() | Позволяет добавить новое значение в конец этого списка. |
содержит() | Возвращает true, если этот список содержит определенное значение. |
получить() | Возвращает элемент в определенной позиции |
пусто() | Возвращает истинное значение, если список не содержит элементов |
минус() | Эта команда позволяет создать новый список, состоящий из элементов оригинала, за исключением тех, которые указаны в коллекции. |
плюс() | Позволяет создать новый Список, составленный из элементов оригинала вместе с упомянутыми в коллекции. |
поп() | Удаляет последний элемент из списка |
удалить() | Удаляет элемент в определенной позиции |
обратный() | Создать новый список, который меняет местами элементы исходного списка |
размер() | Возвращает количество элементов в этом списке |
сортировка() | Возвращает отсортированную копию |
Рассмотрим следующий пример скрипта Groovy
197
Вывод
202
Отличные карты
Карта Groovy — это набор пар ключ-значение
Примеры карт Groovy:
- [Учебник:«Java, Учебник:«Groovy]» — набор пар «ключ-значение», в котором есть «Учебник» в качестве ключа и соответствующие им значения.
- [ :] Представляет пустую карту
Вот список методов сопоставления, доступных в Groovy.
Методы | Описание |
---|---|
содержитКлюч() | Проверить, содержит ли карта этот ключ или нет? |
получить() | Эта команда ищет ключ в этой карте и возвращает соответствующее значение. Если вы не найдете никакой записи на этой карте, она вернет null. |
keySet() | Позволяет найти набор ключей в этой Карте |
пут() | Связывает указанное значение с заданным ключом в этой карте. Если карта ранее содержала сопоставление для этого ключа. Затем старое значение будет заменено указанным значением. |
размер() | Возвращает количество сопоставлений ключ-значение. |
значения() | Эта команда возвращает набор значений. |
Отличный пример:
210
Вывод
229
Groovy — замыкания
Groovy замыкание — это фрагмент кода, обернутый как объект. Он действует как метод или функция.
Пример простого закрытия
238
Вывод:
242
Замыкание может принимать параметры. Список идентификаторов разделен запятой с
стрелка (->), обозначающая конец списка параметров.
251
Вывод
265
Замыкание может возвращать значение.
270
Вывод
284
Существует много встроенных замыканий, таких как «It», «identity» и т. д. Замыкания могут принимать другие замыкания в качестве параметров.
Груви против. Java
Groovy | Ява |
---|---|
В Groovy спецификатор доступа по умолчанию является общедоступным. Это означает, что метод без указанного модификатора доступа является общедоступным и доступным за пределами класса и границ пакета. | В Java модификатор доступа по умолчанию — это пакет, т. е. если вы не укажете модификатор доступа для полей, методов или класса, он станет приватным для пакета, |
Геттеры и сеттеры автоматически генерируются для членов класса. | Java, вам нужно определить методы получения и установки для полей |
Groovy допускает замену переменных с помощью двойных кавычек со строками. | Java не поддерживает замену переменных. |
Вводить информацию необязательно. | Ввод информации является обязательным в Java. |
Groovy не обязательно заканчивать точкой с запятой. | В Java каждый оператор заканчивается точкой с запятой. |
Groovy автоматически становится классом-оболочкой, называемым Script, для каждой программы | В 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
В этом руководстве по сценариям Groovy мы обсудим 3 важных инструмента
1. groovysh:интерактивное выполнение кода.
2. groovyConsole:графический интерфейс для интерактивного выполнения кода
3. groovy:выполняет отличные сценарии. Вы можете использовать его как Perl, Python и т. д.
Грувыш
- оболочка командной строки
- Помогает выполнять код Groovy в интерактивном режиме.
- Позволяет вводить операторы или целые скрипты.
Консоль Groovy
- Интерфейс Swing, который действует как минимальный редактор разработки Groovy.
- Позволяет взаимодействовать с кодом Groovy
- Помогает загружать и запускать файлы сценариев Groovy
Отлично
Это процессор, который выполняет программы и сценарии Groovy. НР>
Его можно использовать для проверки простых выражений Groovy.
Обзор
- Groovy – это объектно-ориентированный язык программирования, используемый для платформы Java.
- Сценарии Groovy обеспечивают полную интеграцию со всеми существующими объектами и библиотеками Java.
- Боб МакВиртер и Джеймс Страчан разработали groovy в 2003 году.
- Список, карта, диапазон, литералы регулярных выражений — важные функции Groovy.
- В Groovy поддерживаются четыре типа операторов:1. Реляционные 2. Логические 3. Побитовые 4. Присваивающие.
- Groovy выполнял принятие решений, используя операторы if, if/else, Nested if, switch, Netsted switch.
- Списковая структура позволяет хранить набор элементов данных.
- Карта Groovy — это набор пар "ключ-значение".
- В Groovy геттеры и сеттеры автоматически генерируются для членов класса
- В Java для полей можно использовать методы получения и установки.
- Самый большой миф о Groovy заключается в том, что его можно использовать только для сценариев, что неверно
- Некоторое время Groovy может работать медленнее, что увеличивает время разработки.
- Три инструмента Groovy:groovysh, выполняющий код, groovy Console, представляющий собой графический интерфейс для интерактивного выполнения кода, и groovy, выполняющий скрипты.
java
- Java для цикла
- Сборка роботов Raspberry Pi:лучшее руководство для начинающих
- Фрезерные станки с ЧПУ для начинающих
- Учебное пособие по Powershell для начинающих:изучите сценарии Powershell
- Язык программирования C PDF:учебник по основам для начинающих
- Учебное пособие по массивам Java:объявление, создание, инициализация [пример]
- Стек Java и куча:руководство по распределению памяти в Java
- Число Армстронга в программе JAVA с использованием цикла for
- Программа чисел-палиндромов на Java с использованием цикла while и for
- Обзор для начинающих:что такое металлообработка?