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: Розроблено Bob McWhirтер і Джеймс Страчан
  • 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) Запустіть завантажений інсталятор. Виберіть мову та натисніть OK

встановлювати Groovy

Крок 4) Запуск. На екрані привітання натисніть ДАЛІ

встановлювати Groovy

Крок 5) Погодьтеся з умовами ліцензії

встановлювати Groovy

Крок 6) Виберіть компоненти, які потрібно встановити, і натисніть «ДАЛІ».

встановлювати Groovy

Крок 7) Виберіть каталог встановлення та натисніть ДАЛІ

встановлювати Groovy

Крок 8) Виберіть «Папка меню «Пуск» і натисніть «ДАЛІ».

встановлювати Groovy

Крок 9) Після завершення інсталяції залиште шляхи за замовчуванням і натисніть ДАЛІ

встановлювати Groovy

Крок 10) Натисніть ДАЛІ

встановлювати Groovy

Крок 11) У меню «Пуск» знайдіть Groovy Консоль

встановлювати Groovy

Groovy Привіт, світ, приклад

Уявімо, що ми хочемо надрукувати простий рядок «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 підтримує Dynamic Typing. Змінні визначаються за допомогою ключового слова «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-Operaторс

Оператор — це символ, який вказує компілятору виконати певні математичні або логічні маніпуляції.

Groovy має такі п’ять типів операторів –

  • Арифметичні оператори: додавання (+), віднімання (-), множення (*), ділення (/)
  • Оператори відношення: дорівнює (==), не дорівнює (!=), Less ніж (<) Less більше або дорівнює (<=), більше ніж (>), більше або дорівнює (>=)
  • Логічні оператори: And (&&), Or(||), Not(!)
  • Порозрядні оператори: 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"}

Ви отримуєте той самий результат, що й вище. $це замикання, яке дає значення поточного циклу.

Розглянемо наступний код

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- Прийняття рішень

Заяви Обман
if Заява А саме Javaоператор if виконується, якщо умова виконується.
Оператор if/else У операторі if/else спочатку умова оцінюється в операторі if. Якщо умова істинна, то виконує оператори після цього. Він зупиняється перед умовою else і виходить із циклу. Однак, якщо умова хибна, виконує оператори в блоці операторів else. Потім він виходить із циклу.
Вкладений оператор If Він використовується, коли є вимога мати кілька операторів if.
Заява про перемикач Вкладений оператор if-else може стати нечитабельним, якщо у вас є кілька умов. Щоб зробити код більш читабельним, використовується оператор switch.
Вкладений оператор Switch In Groovy також можна використовувати вкладені оператори switch.

Groovy список

Структура списку дозволяє зберігати набір елементів даних. В а Groovy мовою програмування список містить послідовність посилань на об’єкти. Він також показує позицію в послідовності. Літерал List представляється як ряд об’єктів, розділених комами та взятих у квадратні дужки.

Приклад списку Grrovy:

Список рядків - ['Angular', 'Nodejs,]

Список посилань на об’єкти – ['Groovy', 2,4 2.6]

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

Порожній список - [ ]

Нижче наведено список методів, доступних у Groovy:

Методи Опис
add () Дозволяє додати нове значення в кінець цього списку.
містить() Повертає true, якщо цей список містить певне значення.
get () Повертає елемент у визначену позицію
пусто() Повертає істинне значення, якщо список не містить елементів
мінус() Ця команда дозволяє створити новий список, що складається з елементів оригіналу, за винятком тих, які вказані в колекції.
плюс() Дозволяє створити новий список, що складається з елементів оригіналу разом із згаданими в колекції.
поп () Видаляє останній елемент зі списку
видалити () Видаляє елемент у певній позиції
зворотний() Створіть новий список, який змінює елементи початкового списку
розмір () Повертає кількість елементів у цьому списку
сортувати () Повертає відсортовану копію

Розглянемо наступне Groovy приклад сценарію

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

вихід:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

Groovy карти

Мапа Groovy це набір пар ключ-значення

Приклади Groovy карти:

  • [Посібник: 'Java, Підручник: 'Groovy] – колекція пар ключ-значення, яка має підручник як ключ та їхні відповідні значення
  • [ : ] Представляє порожню карту

Ось список методів карти, доступних у Groovy.

Методи Опис
міститьКлюч() Перевірити, чи карта містить цей ключ чи ні?
get () Ця команда шукає ключ у цій карті та повертає відповідне значення. Якщо ви не знайдете жодного запису на цій карті, вона поверне значення null.
keySet() Дозволяє знайти набір ключів на цій карті
поставити() Пов’язує вказане значення з заданим ключем у цій карті. Якщо карта раніше містила відображення для цього ключа. Тоді старе значення буде замінено вказаним значенням.
розмір () Повертає кількість зіставлень ключ-значення.
values ​​() Ця команда повертає перегляд колекції значень.

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

Є багато вбудованих замикань, таких як «Це», «ідентичність» тощо. Замикання можуть приймати інші замикання як параметри.

Groovy проти Java

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

Міфи про 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: виконує сценарії groovy. Ви можете використовувати його як Perl, Python, І т.д.

Groovysh

  • оболонка командного рядка
  • Допомагає виконувати Groovy код в інтерактивному режимі
  • Дозволяє вводити оператори або цілі сценарії

Groovy Інструменти

Groovy втішити

  • Інтерфейс Swing, який діє як мінімальний Groovy редактор розвитку.
  • Дозволяє взаємодіяти Groovy код
  • Допомагає вам завантажити та запустити Groovy файли сценаріїв

Groovy Інструменти

Groovy

Це процесор, який виконує Groovy програми та скрипти. U

Його можна використовувати для простого тестування Groovy вирази.

Groovy Інструменти

Підсумки

  • Groovy це об'єктно-орієнтована мова програмування, яка використовується для Java платформа
  • Groovy створення сценаріїв забезпечує повну інтеграцію з усіма існуючими Java об'єктів і бібліотек
  • Боб МакWhirter & James Strachan розробили groovy у 2003 році
  • Список, карта, діапазон, літерали регулярних виразів є важливими функціями Groovy
  • Чотири типи операторів підтримуються Groovy 1. Реляційний 2. Логічний 3. Порозрядний 4. Присвоєння
  • Groovy виконував прийняття рішень за допомогою операторів if, if/else, Nested if, switch, Netsted switch
  • Структура списку дозволяє зберігати колекцію елементів даних
  • Мапа Groovy це набір пар ключ-значення
  • In Groovy, Геттери та сетери автоматично генеруються для членів класу
  • In Java, ви можете використовувати метод getters і setters для полів
  • Найбільший міф про Groovy полягає в тому, що його можна використовувати лише для створення сценаріїв, що є неправильним
  • Деякий час Groovy може бути повільнішим, що збільшує час розробки
  • Три Groovy Інструменти: groovysh, який виконує код, groovy Console, який є графічним інтерфейсом користувача для інтерактивного виконання коду, і groovy, який виконує сценарії.