Урок за скриптове Groovy за начинаещи

Какво е Groovy Script?

Apache Groovy е обектно -ориентиран и съвместим с Java синтаксис език за програмиране, създаден за платформата Java. Този динамичен език има много функции, подобни на Python, Ruby, Smalltalk и Pero. Изходният код на Groovy се компилира в Java Bytecode, така че да може да работи на всяка платформа, на която е инсталиран JRE. Groovy също изпълнява много задачи зад кулисите, което го прави по -пъргав и динамичен.

Groovy език може да се използва като скриптов език за Java платформата. Това е почти като супер версия на Java, която предлага корпоративните възможности на Java. Той също така предлага много функции за производителност като DSL поддръжка, затваряне и динамично въвеждане. За разлика от някои други езици, той е проектиран като придружител, а не като заместител на Java. Какво ще научите: [ шоу ]

Защо Groovy?

Ето основните причини, поради които трябва да използвате и научите Groovy-

  • Groovy е гъвкав и динамичен език
  • Безпроблемна интеграция с всички съществуващи Java обекти и библиотеки
  • Чувства се лесно и естествено за Java разработчиците
  • По -кратък и смислен код в сравнение с Java
  • Можете да го използвате колкото и колкото искате с Java приложения

Groovy История

  • 2003: Разработен от Bob McWhirter & James Strachan
  • 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.on2vhf.be/install-java.html

Стъпка 2) Отидете на http://groovy-lang.org/download.html и щракнете върху инсталатора.

Забележка: Можете също да инсталирате Groovy с помощта на Zip файла или като EClipse IDE. В този урок за Groovy ще се придържаме към Windows Installer

Стъпка 3) Стартирайте изтегления инсталатор. Изберете език и щракнете върху OK

Стъпка 4) Стартиране. В началния екран щракнете върху СЛЕДВАЩ

Стъпка 5) Съгласен с лицензионните условия

Стъпка 6) Изберете компоненти, които искате да инсталирате, и щракнете върху НАПРЕД

Стъпка 7) Изберете Директория за инсталиране и щракнете НАПРЕД

Стъпка 8) Изберете Папка от менюто 'Старт' и щракнете върху СЛЕДВАЩО

Стъпка 9) След като инсталацията приключи, оставете пътищата по подразбиране и щракнете върху НАПРЕД

Стъпка 10) Щракнете НАПРЕД

Стъпка 11) В началното меню потърсете Groovy Console

Пример Groovy Hello World

Помислете, че искаме да отпечатаме прост низ „Hello World“ в Java. Кодът за постигане на низ Groovy hello world ще бъде | _+_ |

Горният код е валиден както в Java, така и в Groovy, тъй като Groovy е супермножество на Java. Но предимството на Groovy е, че можем да премахнем създаването на клас, създаването на публичен метод и т.н. и да постигнем същия изход с един ред код, както следва: | _+_ |

Няма нужда от точка и запетая

Няма нужда от скоби

System.out.println се редуцира до println

Променливи Groovy

В Java статичното свързване е задължително. Това означава, че типът на променливата трябва да бъде деклариран предварително. | _+_ |

В горния пример на този урок Groovy тип променлива (цяло число) се декларира предварително с помощта на ключовата дума „int“. Ако трябва да декларирате номер с плаваща запетая, използвайте ключовата дума float.

Ако се опитате да присвоите стойност на String на int (ред за разкомментиране #5), ще получите следната грешка | _+_ |

За разлика от това, Groovy поддържа динамично въвеждане. Променливите се дефинират с помощта на ключовата дума „def“ и типът на променливата не е необходимо да се декларира предварително. Компилаторът определя типа на променливата по време на изпълнение и дори можете да променяте типа.

Помислете за следния грув пример, | _+_ |

Изход | _+_ |

В Groovy можете да създавате многоредови низове. Просто се уверете, че сте оградили низа в тройни кавички. | _+_ |

Изход | _+_ |

Забележка : Все още можете да променяте типове като byte, short, int, long и т.н. с Groovy. Но не можете динамично да променяте типа променлива, както сте го декларирали изрично.

Помислете за следния код: | _+_ |

Той дава следната грешка | _+_ |

Groovy-Оператори

Оператор е символ, който казва на компилатора да извърши определени математически или логически манипулации.

Groovy има следните пет типа оператори -

  • Аритметични оператори: Добавяне (+), Изваждане (-), Умножение (*), Деление (/)
  • Релационни оператори: равно на (==), Не равно на (! =), По -малко от (<) Less than or equal to (), Greater than or equal to (>=)
  • Логически оператори: And (&&), Or (||), Not (!)
  • Побитови оператори: And (&), Or (|), (^), Xor или Exclusive-or operator
  • Оператори на присвояване: Оператор на отрицание (~)

Groovy-Loops

В Java бихте определили цикъл, както следва | _+_ |

Изход | _+_ |

Можете да постигнете същия резултат в Groovy, като използвате upto ключови думи | _+_ |

Получавате същия изход като по -горе. $ това е затваряне, което дава стойността на текущия цикъл.

Помислете за следния код | _+_ |

Той дава изход | _+_ |

Можете също да използвате ключовата дума „times“, за да получите същия изход | _+_ |

Помислете, че искате да отпечатате 0,2,4,6 с for цикъл в Java | _+_ |

Изход: | _+_ |

Можете да използвате метода стъпка за същото | _+_ |

Groovy- Вземане на решения

Изявления Измама
ако ИзявлениеКакто и в Java, операторът if се изпълнява, ако условието е вярно.
изявление if/elseВ оператора if/else първоначално се оценява условие в израза if. Ако условието е вярно, след това изпълнява изявленията. Той спира преди условието else и излиза от цикъла. Ако обаче условието е невярно, тогава изпълнява изразите в блока на операторите else. След това излиза от цикъла.
Вложено изявление IfИзползва се, когато има изискване да има множество изрази if.
Превключване на изявлениеВложеният оператор if-else може да стане нечетлив, когато имате множество условия. За да се направи кодът по -четлив, се използва оператор switch.
Вложено изявление за превключванеВ Groovy също е възможно да се използват вложени оператори за превключване.

Groovy List

Структурата на списъка ви позволява да съхранявате колекция от елементи от данни. В език за програмиране Groovy Списъкът съдържа последователност от препратки към обекти. Той също така показва позиция в последователността. Литералът List се представя като поредица от обекти, разделени със запетаи и затворени в квадратни скоби.

Пример за списък на Grrovy:

Списък на низовете- ['Angular', 'Nodejs,]

Списък с препратки към обекти - ['Groovy', 2,4 2.6]

Списък на цели числа - [16, 17, 18, 19]

Празен списък- []

По -долу са изброени методи, налични в Groovy:

Методи

Описание

добави ()

Позволява ви да добавите новата стойност в края на този списък.

съдържа()

Връща true, ако този списък съдържа определена стойност.

get ()

Връща елемента в определената позиция

празно е()

Връща истинска стойност, ако List не съдържа елементи

минус ()

Тази команда ви позволява да създадете нов списък, съставен от елементите на оригинала, с изключение на тези, които са посочени в колекцията.

Повече ▼()

Позволява ви да създадете нов списък, съставен от елементите на оригинала, заедно със споменатите в колекцията.

поп ()

Премахва последния елемент от списъка

Премахване()

Премахва елемента в определената позиция

обратен()

Създайте нов списък, който обръща елементите на оригиналния списък

размер ()

Позволява намирането на някои елементи

вид()

Връща сортирано копие

Помислете за следния пример на Groovy скрипт | _+_ |

Изход | _+_ |

Карти Groovy

A Map Groovy е колекция от двойки ключови стойности

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

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

Ето списък на методите на карти, налични в Groovy.

Методи

Описание

containsKey ()

Проверете дали картата съдържа този ключ или не?

get ()

Тази команда търси ключа в тази карта и връща съответната стойност. Ако не намерите запис в тази карта, той ще върне нула.

keySet ()

Позволява да се намери набор от ключове в тази карта

слагам()

Свързва посочената стойност с дадения ключ в тази карта. Ако Картата по -рано съдържаше картографиране за този ключ. Тогава старата стойност ще бъде заменена с посочената стойност.

размер ()

Връща броя на съпоставянията ключ-стойност.

стойности()

Тази команда връща изглед на колекция от стойностите.

Пример Groovy: | _+_ |

Изход | _+_ |

Groovy- Затваряне

Гроуви затваряне е парче код, опакован като обект. Той действа като метод или функция.

Пример за просто затваряне | _+_ |

Изход: | _+_ |

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

стрелка (->), маркираща края на списъка с параметри. | _+_ |

Изход | _+_ |

Затварянето може да върне стойност. | _+_ |

Изход | _+_ |

Има много вградени затваряния като „То“, „идентичност“ и т.н. Затварянията могат да приемат други затваряния като параметри.

Groovy Vs. Java

Groovy

Java

В Groovy спецификаторът за достъп по подразбиране е публичен. Това означава, че метод без посочен модификатор на достъп е публичен и достъпен извън границите на класа и пакета.

В Java модификаторът за достъп по подразбиране е пакет, т.е. ако не посочите модификатор за достъп за полета, методи или клас, той става частен за пакети,

Получателите и настройващите се генерират автоматично за членовете на класа.

Java, трябва да дефинирате метод за получаване и задаване на полета

Groovy позволява заместване на променливи, използвайки двойни кавички с низове.

Java не поддържа заместване на променливи.

Въвеждането на информация не е задължително.

Въвеждането на информация е задължително в Java.

Не е задължително да завършва с точка и запетая.

В Java всяко изявление завършва с точка и запетая.

Groovy автоматично е опаковъчен клас, наречен Script за всяка програма

В Java се нуждаете от основния метод, за да направите клас изпълним.

Митове за Groovy

Мит

Реалност

Можем да използваме Groovy само за скриптове.

Може да се използва за скриптове. Освен това можете да изпълнявате много други задачи.

Groovy е всичко за затваряне. - Просто функционален език за програмиране . '

Groovy приема от функционални езици за програмиране като Lisp или Closure.

Groovy е идеален избор, ако искате да направите TDD

Това твърдение е вярно. Това обаче със сигурност не е единствената причина да използвате Groovy.

Можете да използвате Groovy само ако искате да използвате Граал.

Grails е мощна рамка за уеб разработка.

Но Groovy предлага повече от това.

Недостатъци на използването на Groovy

  • Времето за стартиране на скрипта на JVM и Groovy е бавно, което ограничава скриптовете на ниво ОС
  • Groovy не е напълно приет в други общности.
  • Не е удобно да използвате Groovy, без да използвате IDE
  • Groovy може да бъде по -бавен, което увеличава времето за разработка
  • Groovy може да се нуждае от много памет
  • Познаването на Java е наложително.

Groovy Tools

Ще обсъдим 3 важни инструмента в този урок за скриптове на Groovy

1. groovysh: Изпълнява код интерактивно.

2. groovyConsole: GUI за интерактивно изпълнение на код

3. groovy: Изпълнява groovy скриптове. Можете да го използвате като Perl, Python и др.

Groovysh

  • черупка на командния ред
  • Помага ви да изпълнявате Groovy код интерактивно
  • Позволява въвеждане на изявления или цели скриптове

Groovy конзола

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

Groovy

Процесорът изпълнява Groovy програми и скриптове. U

Може да се използва за тестване на прости изрази на Groovy.

Резюме

  • Groovy е обектно-ориентиран език за програмиране, използван за Java платформа
  • Groovy скриптове предлага безпроблемна интеграция с всички съществуващи Java обекти и библиотеки
  • Bob McWhirter & James Strachan разработиха groovy през 2003 г.
  • Списък, карта, обхват, литерали с регулярни изрази са важни характеристики на Groovy
  • Четири типа оператори, поддържани от Groovy, са 1. Релационни 2. Логически 3. Побитови 4. Присвояване
  • Groovy извърши вземането на решения, използвайки if, if/else, Вложен if, switch, Netsted switch изрази
  • Структурата на списъка ви позволява да съхранявате колекция от елементи от данни
  • A Map Groovy е колекция от двойки ключови стойности
  • В Groovy гетерите и настройващите се генерират автоматично за членовете на класа
  • В Java можете да използвате предоставяне на метода getters и setters за полета
  • Най -големият мит за Groovy е, че може да се използва само за скриптове, което не е правилно
  • Известно време Groovy може да бъде по -бавен, което увеличава времето за разработка
  • Три Groovy инструмента са: groovysh, който изпълнява код, groovy Console, който е GUI за интерактивно изпълнение на код и groovy, който изпълнява скриптове