Groovy Výuka skriptů pro začátečníky

Co je to Groovy Skript?

Apache Groovy je objektově orientovaný a Java programovací jazyk kompatibilní se syntaxí vytvořený pro Java platforma. Tento dynamický jazyk má mnoho vlastností, které jsou podobné Python, Ruby, Smalltalk a Pero. Groovy zdrojový kód se zkompiluje Java Bytecode, takže může běžet na jakékoli platformě, která má nainstalované JRE. Groovy také plní mnoho úkolů za scénou, díky čemuž je agilnější a dynamičtější.

Groovy jazyk lze použít jako skriptovací jazyk pro Java platforma. Je to skoro jako super verze Java který nabízí Javapodnikové schopnosti. Nabízí také mnoho funkcí produktivity, jako je podpora DSL, uzávěry a dynamické psaní. Na rozdíl od některých jiných jazyků je navržen jako doprovodný jazyk, nikoli jako jeho náhrada Java.

Proč Groovy?

Zde jsou hlavní důvody, proč byste měli používat a učit se Groovy-

  • Groovy je agilní a dynamický jazyk
  • Bezproblémová integrace se všemi existujícími Java objektů a knihoven
  • Je to snadné a přirozené Java Vývojáři
  • Stručný a smysluplnější kód ve srovnání s Java
  • Můžete ho používat tolik nebo tak málo, jak chcete Java aplikace

Groovy Historie

  • 2003: Vyvinul Bob McWhirter & James Strachan
  • 2004: Uvedeno do provozu JSR 241, ale bylo opuštěno
  • 2005: Přivedeni zpět Jeremy Rayner & Guillaume Laforge
  • 2007: Groovy Verze 1.0
  • 2012: Groovy Verze 2
  • 2014: Groovy verze 2.3 (oficiální podpora pro JDK 8)
  • 2015: Groovy se stal projektem v Apache Software Foundation

Vlastnosti Groovy

  • List, mapa, rozsah, literály regulárních výrazů
  • Multimetoda a metaprogramování
  • Groovy třídy a skripty jsou obvykle uloženy v souborech .groovy
  • Skripty obsahují Groovy příkazy bez jakékoli deklarace třídy.
  • Skripty mohou také obsahovat definice metod mimo definice tříd.
  • Může být sestaven a plně integrován s tradičním Java aplikace.
  • Podpora na jazykové úrovni pro mapy, seznamy, regulární výrazy
  • Podporuje uzávěry, dynamické psaní, protokol metaobjektů
  • Podpora pro statické a dynamické psaní a přetěžování operátorů
  • Doslovná deklarace pro seznamy (pole), mapy, rozsahy a regulární výrazy

Jak nainstalovat Groovy

Krok 1) Ujistěte se, že máte Java instalovány.

Krok 2) Přejít http://groovy-lang.org/download.html a klikněte na instalační program.

instalovat Groovy

Poznámka: Můžete také nainstalovat Groovy pomocí souboru zip nebo jako soubor Eclipse IDE. V této Groovy tutoriál, kterého se budeme držet Windows Instalační

Krok 3) Spusťte stažený instalační program. Vyberte jazyk a klikněte na OK

instalovat Groovy

Krok 4) Zahájení. Na uvítací obrazovce klikněte na NEXT

instalovat Groovy

Krok 5) Souhlas s licenčními podmínkami

instalovat Groovy

Krok 6) Vyberte komponenty, které chcete nainstalovat, a klikněte na NEXT

instalovat Groovy

Krok 7) Vyberte Instalační adresář a klikněte na NEXT

instalovat Groovy

Krok 8) Zvolte Složka nabídky Start a klikněte na DALŠÍ

instalovat Groovy

Krok 9) Po dokončení instalace ponechte výchozí cesty a klikněte na NEXT

instalovat Groovy

Krok 10) Klikněte na DALŠÍ

instalovat Groovy

Krok 11) V nabídce Start vyhledejte Groovy konzola

instalovat Groovy

Groovy Příklad Ahoj světe

Uvažujme, že chceme vytisknout jednoduchý řetězec „Ahoj světe“. Java. Kód k dosažení řetězce Groovy ahoj svět by byl

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

Výše uvedený kód je platný v obou Java si Groovy as Groovy je nadmnožinou Java. Ale výhoda s Groovy je, že se můžeme zbavit vytváření tříd, vytváření veřejných metod atd. a dosáhnout stejného výstupu s jediným řádkovým kódem následovně:

println "Hello World."

Středníky nejsou potřeba

Není třeba závorky

System.out.println je redukován na println

Groovy Proměnné

In Java, statická vazba je povinná. To znamená, že typ proměnné musí být deklarován předem.

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

Ve výše uvedeném příkladu tohoto Groovy tutoriál, typ proměnné (celé číslo) je předem deklarován pomocí klíčového slova „int“. Pokud byste deklarovali číslo s pohyblivou řádovou čárkou, použijte klíčové slovo float.

Pokud se pokusíte přiřadit hodnotu řetězce int (odkomentujte řádek #5), zobrazí se následující chyba

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

V porovnání, Groovy podporuje dynamické psaní. Proměnné jsou definovány pomocí klíčového slova „def“ a typ proměnné není nutné deklarovat předem. Kompilátor zjistí typ proměnné za běhu a vy můžete dokonce typ proměnné.

Zvažte následující skvělý příklad,

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

Výstup:

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

In Groovy, můžete vytvořit víceřádkové řetězce. Jen se ujistěte, že jste řetězec uzavřeli do trojitých uvozovek.

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

Výstup:

Groovy
at
Guru99

Hodnocení: Stále můžete používat proměnné typu byte, short, int, long atd Groovy. Nemůžete však dynamicky měnit typ proměnné, jak jste jej explicitně deklarovali.

Zvažte následující kód:

int x = 104
println x
x = "Guru99"

Zobrazuje následující chybu

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-Operatorů

Operátor je symbol, který říká kompilátoru, aby provedl určité matematické nebo logické manipulace.

Groovy má následujících pět typů operátorů –

  • Aritmetické operátory: sčítání (+), odečítání (-), násobení (*), dělení (/)
  • Relační operátory: rovno (==), Nerovná se (!=), Less než (<) Less než nebo rovno (<=), větší než (>), větší než nebo rovno (>=)
  • Logické operátory: And (&&), Or(||), Not(!)
  • Bitové operátory: And(&), Or(|), (^), Xor nebo Exclusive-or operátor
  • Operátoři přiřazení: Operátor negace (~)

Groovy- Smyčky

In Java, definovali byste smyčku následovně

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

Výstup:

0
1
2
3
4

Stejného výstupu můžete dosáhnout v Groovy pomocí až klíčových slov

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

Získáte stejný výstup jako výše. $je to uzávěr, který udává hodnotu proudové smyčky.

Zvažte následující kód

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

Poskytuje výstup

2
3
4

Pro získání stejného výstupu můžete také použít klíčové slovo „times“.

5.times{println "$it"}

Zvažte, že chcete tisknout 0,2,4 pomocí pro smyčku Java

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

Výstup:

0
2
4

Pro totéž můžete použít metodu kroku

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

Groovy- Rozhodování

Prohlášení Klamání
if Prohlášení Jako v Java, příkaz if se provede, pokud je podmínka pravdivá.
if/others Statement V příkazu if/else se nejprve vyhodnotí podmínka v příkazu if. Pokud je podmínka pravdivá, provede příkazy poté. Zastaví se před podmínkou else a opustí smyčku. Pokud je však podmínka nepravdivá, provede příkazy v bloku příkazů else. Poté opustí smyčku.
Vnořený příkaz If Používá se, když existuje požadavek na více příkazů if.
Přepnout prohlášení Vnořený příkaz if-else se může stát nečitelným, pokud máte více podmínek. Aby byl kód čitelnější, používá se příkaz switch.
Vnořený příkaz Switch In Groovy je také možné použít vnořené příkazy switch.

Groovy Seznam

Struktura seznamu vám umožňuje uložit kolekci datových položek. V a Groovy Programovací jazyk, seznam obsahuje sekvenci odkazů na objekty. Ukazuje také pozici v sekvenci. Literál seznamu je prezentován jako řada objektů oddělených čárkami a uzavřených v hranatých závorkách.

Příklad seznamu Grrovy:

Seznam řetězců- ['Angular', 'Nodejs,]

Seznam odkazů na objekt – ['Groovy', 2,4 2.6]

Seznam celočíselných hodnot – [16, 17, 18, 19]

Prázdný seznam - [ ]

Následuje seznam metod dostupných v Groovy:

Metody Description
přidat() Umožňuje přidat novou hodnotu na konec tohoto seznamu.
obsahuje() Vrátí hodnotu true, pokud tento seznam obsahuje určitou hodnotu.
dostat() Vrátí prvek na definitivní pozici
je prázdný() Vrátí hodnotu true, pokud seznam neobsahuje žádné prvky
mínus() Tento příkaz umožňuje vytvořit nový seznam složený z prvků původního s výjimkou těch, které jsou specifikovány v kolekci.
Plus() Umožňuje vytvořit nový seznam složený z prvků původního spolu s prvky uvedenými v kolekci.
pop () Odebere poslední položku ze seznamu
odstranit() Odebere prvek na konkrétní pozici
zvrátit() Vytvořte nový seznam, který obrátí prvky původního seznamu
velikost() Vrátí počet prvků v tomto seznamu
řadit () Vrátí seřazenou kopii

Zvažte následující Groovy příklad skriptu

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

Výstup:

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

Groovy Mapy

Mapa Groovy je sbírka párů klíčových hodnot

Příklady Groovy mapy:

  • [Výukový program: 'Java, Výukový program: 'Groovy] – Sbírka párů klíč–hodnota, která má jako klíč Výukový program a jejich příslušné hodnoty
  • [ : ] Představuje prázdnou mapu

Zde je seznam mapových metod dostupných v Groovy.

Metody Description
obsahujeKey() Zkontrolujte, zda mapa obsahuje tento klíč nebo ne?
dostat() Tento příkaz vyhledá klíč v této mapě a vrátí odpovídající hodnotu. Pokud v této mapě nenajdete žádný záznam, vrátí se nula.
keySet() Umožňuje najít sadu klíčů na této mapě
dát() Přidruží zadanou hodnotu k danému klíči v této mapě. Pokud mapa dříve obsahovala mapování pro tento klíč. Poté bude stará hodnota nahrazena zadanou hodnotou.
velikost() Vrátí počet mapování párů klíč–hodnota.
hodnoty() Tento příkaz vrátí zobrazení kolekce hodnot.

Groovy Příklad:

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

Výstup

Jen

Groovy- Uzávěry

Groovy uzávěr je kus kódu zabalený jako objekt. Funguje jako metoda nebo funkce.

Příklad jednoduchého uzavření

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

Výstup:

My First Closure

Uzávěr může přijímat parametry. Seznam identifikátorů je oddělen čárkou

šipka (->) označující konec seznamu parametrů.

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

Výstup:

6

Uzavření může vrátit hodnotu.

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

Výstup:

6

Existuje mnoho vestavěných uzávěrů jako „To“, „identita“ atd. Uzávěry mohou mít jako parametry jiné uzávěry.

Groovy Vs. Java

Groovy Java
In Groovy, výchozí specifikátor přístupu je veřejný. To znamená, že metoda bez jakéhokoli specifikovaného modifikátoru přístupu je veřejná a přístupná mimo hranice třídy a balíčku. In Java, výchozí modifikátor přístupu je balíček, tj. pokud nezadáte modifikátor přístupu pro pole, metody nebo třídu, stane se balíček-private,
Pro členy třídy se automaticky generují gettery a settery. Java, musíte definovat metodu getter a setters pro pole
Groovy umožňuje variabilní substituci pomocí dvojitých uvozovek s řetězci. Java nepodporuje variabilní substituci.
Zadání informací je nepovinné. Zadání informací je povinné Java.
Groovy není nutné končit středníkem. In Java, každý příkaz končí středníkem.
Groovy je automaticky obalová třída nazvaná Script pro každý program In Java, potřebujete hlavní metodu, aby se třída stala spustitelnou.

Mýty o Groovy

Mýtus Realita
Můžeme použít Groovy jen pro skriptování. Může být použit pro skriptování. Kromě toho však můžete provádět mnoho dalších úkolů.
Groovy je všechno o uzavírkách. "Je to tak." funkcionální programovací jazyk. " Groovy přejímá z funkčních programovacích jazyků jako Lisp nebo Closure.
Groovy je ideální volbou, pokud chcete dělat TDD Toto tvrzení je pravdivé. Rozhodně to však není jediný důvod k použití Groovy.
Můžeš použít Groovy pouze pokud chcete používat Grály. Grails je výkonný rámec pro vývoj webových aplikací.

Ale Groovy nabízí víc než to.

Nevýhody použití Groovy

  • JVM a Groovy čas spuštění skriptu je pomalý, což omezuje skriptování na úrovni operačního systému
  • Groovy není zcela akceptován v jiných komunitách.
  • Není vhodné používat Groovy bez použití IDE
  • Groovy může být pomalejší, což prodlužuje dobu vývoje
  • Groovy může potřebovat hodně paměti
  • Znalosti Java je nezbytná.

Groovy Tools

V tomto probereme 3 důležité nástroje Groovy skript tutoriál

1. groovysh: Interaktivně spouští kód.

2. groovyConsole: GUI pro interaktivní spouštění kódu

3. groovy: Spouští groovy skripty. Můžete to použít jako Perl, Python, Etc.

Groovysh

  • shell příkazového řádku
  • Pomáhá vám provést Groovy kód interaktivně
  • Umožňuje zadávání příkazů nebo celých skriptů

Groovy Tools

Groovy konzole

  • Swing rozhraní, které funguje jako minimální Groovy vývojový editor.
  • Umožňuje interakci Groovy kód
  • Pomáhá vám načíst a spustit Groovy soubory skriptů

Groovy Tools

Groovy

Je to procesor, který provádí Groovy programy a skripty. U

Lze jej použít k jednoduchému testování Groovy výrazy.

Groovy Tools

Shrnutí

  • Groovy je objektově orientovaný programovací jazyk používaný pro Java platforma
  • Groovy skriptování nabízí bezproblémovou integraci se všemi existujícími Java objektů a knihoven
  • Bob McWhirter & James Strachan vyvinuli groovy v roce 2003
  • List, mapa, rozsah, literály regulárních výrazů jsou důležité vlastnosti Groovy
  • Podporují čtyři typy operátorů Groovy jsou 1. Relační 2.Logické 3. Bitové 4. Přiřazení
  • Groovy provádí rozhodování pomocí příkazů if, if/else, Nested if, switch, Netsted switch
  • Struktura seznamu vám umožňuje uložit kolekci datových položek
  • Mapa Groovy je sbírka párů klíčových hodnot
  • In Groovy, Getters a setters jsou automaticky generovány pro členy třídy
  • In Java, můžete pro pole použít metodu pro získání a nastavení
  • Největší mýtus o Groovy je, že jej lze použít pouze pro skriptování, což není správné
  • Nějaký čas Groovy může být pomalejší, což prodlužuje dobu vývoje
  • Tři Groovy Nástroje jsou: groovysh, který spouští kód, groovy Console, což je GUI pro interaktivní spouštění kódu a groovy, který spouští skripty