Groovy Script bemutató kezdőknek

Mi az a Groovy Forgatókönyv?

Apache Groovy egy objektum orientált és Java A szintaxissal kompatibilis programozási nyelv a Java platformon. Ez a dinamikus nyelv sok hasonló tulajdonsággal rendelkezik Python, Ruby, Smalltalk és Pero. Groovy a forráskód le lesz fordítva Java Bytecode, így minden olyan platformon futhat, amelyre telepítve van a JRE. Groovy a színfalak mögött is sok feladatot végez, ami mozgékonyabbá és dinamikusabbá teszi.

Groovy nyelv használható szkriptnyelvként a Java platformon. Ez majdnem olyan, mint egy szuper változata Java amely kínál Javavállalati képességeit. Számos termelékenységi funkciót is kínál, például DSL-támogatást, lezárásokat és dinamikus gépelést. Más nyelvektől eltérően társnak, nem pedig helyettesítőnek készült Java.

Miért Groovy?

Íme, a legfontosabb okok, amelyek miatt érdemes használni és tanulni Groovy-

  • Groovy egy agilis és dinamikus nyelv
  • Zökkenőmentes integráció az összes létezővel Java tárgyak és könyvtárak
  • Könnyűnek és természetesnek tűnik Java fejlesztők
  • Összehasonlítva tömörebb és értelmesebb kód Java
  • Annyit vagy keveset használhatsz vele, amennyit csak akarsz Java alkalmazások

Groovy Történelem

  • 2003: Bob Mc fejlesztetteWhirter és James Strachan
  • 2004: JSR 241-be helyezték üzembe, de elhagyták
  • 2005: Jeremy Rayner és Guillaume Laforge hozta vissza
  • 2007: Groovy 1.0 verzió
  • 2012: Groovy 2 verzió
  • 2014: Groovy 2.3-as verzió (hivatalos támogatás a JDK 8-hoz)
  • 2015: Groovy az Apache Software projektje lett Foundation

Jellemzői Groovy

  • Lista, térkép, tartomány, reguláris kifejezés literálok
  • Multimetódus és metaprogramozás
  • Groovy osztályok és szkriptek általában .groovy fájlokban tárolódnak
  • A szkriptek tartalmazzák Groovy állítások osztálydeklaráció nélkül.
  • A szkriptek az osztálydefiníciókon kívül is tartalmazhatnak metódusdefiníciókat.
  • Összeállítható és teljesen integrálható a hagyományossal Java alkalmazás.
  • Nyelvi szintű támogatás térképekhez, listákhoz, reguláris kifejezésekhez
  • Támogatja a lezárásokat, a dinamikus gépelést, a metaobjektum protokollt
  • Támogatja a statikus és dinamikus gépelést és a kezelő túlterhelését
  • Literális deklaráció listákhoz (tömbökhöz), térképekhez, tartományokhoz és reguláris kifejezésekhez

Hogyan kell telepíteni Groovy

Step 1) Győződjön meg róla, hogy van Java telepítve.

Step 2) Tovább http://groovy-lang.org/download.html és kattintson a telepítőre.

telepíteni Groovy

Megjegyzés: Telepítheti is Groovy a Zip fájl használatával vagy egy Eclipse IDE. Ebben Groovy bemutató, ragaszkodunk Windows Installer

Step 3) Indítsa el a letöltött telepítőt. Válassza ki a nyelvet, majd kattintson az OK gombra

telepíteni Groovy

Step 4) Dob. Az üdvözlő képernyőn kattintson a KÖVETKEZŐ gombra

telepíteni Groovy

Step 5) Fogadja el a licenc feltételeit

telepíteni Groovy

Step 6) Válassza ki a telepíteni kívánt összetevőket, majd kattintson a KÖVETKEZŐ gombra

telepíteni Groovy

Step 7) Válassza a Telepítési könyvtár lehetőséget, majd kattintson a NEXT gombra

telepíteni Groovy

Step 8) Válassza a Start menü mappáját, majd kattintson a KÖVETKEZŐ gombra

telepíteni Groovy

Step 9) A telepítés után hagyja az elérési utat alapértelmezettként, majd kattintson a NEXT gombra

telepíteni Groovy

Step 10) Kattintson a KÖVETKEZŐ gombra

telepíteni Groovy

Step 11) A Start menüben keressen rá Groovy Konzol

telepíteni Groovy

Groovy Hello World Példa

Fontolja meg, hogy egy egyszerű „Hello World” karakterláncot szeretnénk nyomtatni Java. A karakterlánc eléréséhez szükséges kód Groovy helló világ lenne

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

A fenti kód mindkettőre érvényes Java és a Groovy as Groovy egy szuperkészlete Java. De az előnyt Groovy Az, hogy megszüntethetjük az osztályok létrehozását, a nyilvános metódusok létrehozását stb., és ugyanazt a kimenetet egyetlen soros kóddal érhetjük el az alábbiak szerint:

println "Hello World."

Nincs szükség pontosvesszőre

Nincs szükség zárójelre

A System.out.println a println-re redukálódik

Groovy Változók

In Java, statikus kötés kötelező. A változó típusát előre meg kell határozni.

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

A fenti példában erre Groovy oktatóprogram, a változó típusa (egész szám) előre deklarálva van az „int” kulcsszó használatával. Ha lebegőpontos számot szeretne deklarálni, használja a float kulcsszót.

Ha megpróbál egy karakterlánc értéket rendelni egy inthez (5. megjegyzés törlése sor), a következő hibaüzenetet kapja

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

Ellentétben, Groovy támogatja a dinamikus gépelést. A változók meghatározása a „def” kulcsszó használatával történik, és a változó típusát nem kell előre deklarálni. A fordító futás közben kitalálja a változó típusát, és még a változó típusát is megteheti.

Tekintsük a következő remek példát,

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

output:

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

In Groovy, létrehozhat többsoros karakterláncokat. Csak győződjön meg arról, hogy a karakterláncot háromszoros idézőjelbe tette.

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

output:

Groovy
at
Guru99

Megjegyzések: Továbbra is változtathat olyan típusokat, mint a byte, short, int, long stb Groovy. De nem módosíthatja dinamikusan a változó típusát, ahogy azt kifejezetten deklarálta.

Vegye figyelembe a következő kódot:

int x = 104
println x
x = "Guru99"

A következő hibát adja

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-Operatorzok

Az operátor egy szimbólum, amely bizonyos matematikai vagy logikai manipulációk elvégzésére utasítja a fordítót.

Groovy a következő öt típusú operátorral rendelkezik -

  • Aritmetikai operátorok: összeadás (+), kivonás (-), szorzás (*), osztás (/)
  • Relációs operátorok: egyenlő (==), nem egyenlő (!=), Less mint (<) Less mint vagy egyenlő (<=), nagyobb, mint (>), nagyobb vagy egyenlő, mint (>=)
  • Logikai operátorok: És (&&), Or(||), Nem(!)
  • Bitenkénti operátorok: And(&), Or(|), (^), Xor vagy Kizáró-vagy operátor
  • Hozzárendelési operátorok: tagadó operátor (~)

Groovy-Hurkok

In Java, akkor a következőképpen definiálhat egy hurkot

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

output:

0
1
2
3
4

Ugyanazt a kimenetet érheti el Groovy legfeljebb kulcsszavakat használva

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

Ugyanazt a kimenetet kapja, mint fent. $ez egy lezárás, amely megadja az aktuális hurok értékét.

Vegye figyelembe a következő kódot

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

Kimenetet ad

2
3
4

Használhatja a „time” kulcsszót is, hogy ugyanazt a kimenetet kapja

5.times{println "$it"}

Fontolja meg, hogy 0,2,4-et szeretne nyomtatni hurok be Java

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

output:

0
2
4

Ehhez használhatja a lépéses módszert is

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

Groovy- Döntéshozatal

Nyilatkozatok Megtévesztés
ha Nyilatkozat Mint a Java, az if utasítás végrehajtásra kerül, ha a feltétel igaz.
if/else Nyilatkozat Az if/else utasításban először egy feltétel az if utasításban kerül kiértékelésre. Ha a feltétel igaz, akkor ezt követően végrehajtja az utasításokat. Az else feltétel előtt megáll, és kilép a hurokból. Ha azonban a feltétel hamis, akkor végrehajtja az else utasításblokkban lévő utasításokat. Ezután kilép a hurokból.
Beágyazott If-kimutatás Akkor használatos, ha több if-utasításra van szükség.
Kapcsolási nyilatkozat A beágyazott if-else utasítás olvashatatlanná válhat, ha több feltétele van. A kód olvashatóbbá tétele érdekében switch utasítást használunk.
Beágyazott kapcsoló nyilatkozat In Groovy beágyazott switch utasítások is használhatók.

Groovy Lista

A listastruktúra lehetővé teszi az adatelemek gyűjteményének tárolását. Az a Groovy programozási nyelv, a Lista objektumhivatkozások sorozatát tartalmazza. Egy pozíciót is mutat a sorozatban. A Lista literál vesszővel elválasztott és szögletes zárójelbe tett objektumok sorozataként jelenik meg.

Példa a Grrovy listára:

A karakterláncok listája – ['Angular', 'Nodejs,]

Objektumhivatkozások listája – ['Groovy', 2,4 2.6]

Egész értékek listája – [16, 17, 18, 19]

Egy üres lista - [ ]

Az alábbiakban felsoroljuk a rendelkezésre álló módszereket Groovy:

Mód Leírás
add () Lehetővé teszi az új érték hozzáfűzését a lista végéhez.
tartalmazza () Igaz értéket ad vissza, ha ez a lista egy bizonyos értéket tartalmaz.
get () Az elemet a meghatározott pozícióban adja vissza
üres() Igaz értéket ad vissza, ha a lista nem tartalmaz elemeket
mínusz() Ez a parancs lehetővé teszi egy új lista létrehozását, amely az eredeti elemeiből áll, kivéve a gyűjteményben megadottakat.
plusz() Lehetővé teszi egy új lista létrehozását, amely az eredeti elemeiből és a gyűjteményben említett elemekből áll.
pop () Eltávolítja az utolsó elemet a listából
eltávolítás () Eltávolítja az elemet az adott helyen
fordított () Hozzon létre egy új listát, amely megfordítja az eredeti lista elemeit
méret () A lista elemeinek számát adja vissza
rendezés () Rendezett példányt ad vissza

Tekintsük a következő Groovy script példa

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

output:

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

Groovy Térképek

Egy térkép Groovy a kulcsértékpárok gyűjteménye

Példák Groovy térképek:

  • [Tutorial: 'Java, oktatóanyag: 'Groovy] – Kulcs-érték párok gyűjteménye, amelynek kulcsa a Tutorial és a hozzájuk tartozó értékek
  • [ : ] Üres térképet ábrázol

Itt található a rendelkezésre álló térképmódszerek listája Groovy.

Mód Leírás
includeKey() Ellenőrizze, hogy a térkép tartalmazza-e ezt a kulcsot vagy sem?
get () Ez a parancs megkeresi a kulcsot ezen a térképen, és visszaadja a megfelelő értéket. Ha nem talál bejegyzést ezen a térképen, akkor null értékkel tér vissza.
keySet() Lehetővé teszi a kulcskészlet megtalálását ezen a térképen
tesz() A megadott értéket társítja a megadott kulcshoz ezen a térképen. Ha a Térkép korábban tartalmazott hozzárendelést ehhez a kulcshoz. Ezután a régi érték helyébe a megadott érték lép.
méret () A kulcsérték-leképezések számát adja vissza.
értékek () Ez a parancs az értékek gyűjtőnézetét adja vissza.

Groovy Példa:

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

teljesítmény

Jen

Groovy- Lezárások

A barázdás lezárás egy tárgyként csomagolt kóddarab. Módszerként vagy függvényként működik.

Példa egyszerű zárásra

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

output:

My First Closure

A lezárás paramétereket fogadhat el. Az azonosítók listája vesszővel van elválasztva

a paraméterlista végét jelző nyíl (->).

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

output:

6

A lezárás visszaadhat egy értéket.

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

output:

6

Számos beépített zár létezik, mint például az „It”, „identitás”, stb.

Groovy Vs. Java

Groovy Java
In Groovy, az alapértelmezett hozzáférés-meghatározó nyilvános. Ez azt jelenti, hogy egy meghatározott hozzáférés-módosító nélküli metódus nyilvános, és elérhető az osztály- és csomaghatárokon kívül. In Java, az alapértelmezett hozzáférés-módosító egy csomag, azaz ha nem ad meg hozzáférés-módosítót a mezőkhöz, metódusokhoz vagy osztályokhoz, akkor csomag-privát lesz,
Getterek és setterek automatikusan generálódnak az osztály tagjai számára. Java, meg kell határoznia a getters és a setters metódust a mezőkhöz
Groovy lehetővé teszi a változók helyettesítését sztringekkel, dupla idézőjelek használatával. Java nem támogatja a változók helyettesítését.
Az adatok beírása nem kötelező. Az adatok beírása kötelező Java.
Groovy nem kötelező pontosvesszővel végződnie. In Java, minden állítás pontosvesszővel végződik.
Groovy automatikusan egy Script nevű csomagoló osztály minden program számára In Java, szüksége van a fő metódusra, hogy végrehajthatóvá tegye az osztályt.

Mítoszok arról Groovy

Mítosz Valóság
Tudjuk használni Groovy csak a szkriptezéshez. Használható szkriptelésre. Ezen kívül azonban sok más feladatot is elvégezhet.
Groovy a lezárásokról szól. „Csak funkcionális programozási nyelv. " Groovy átvesz olyan funkcionális programozási nyelvekből, mint a Lisp vagy a Closure.
Groovy ideális választás, ha TDD-t szeretne csinálni Ez az állítás igaz. Természetesen nem ez az egyetlen ok a használatára Groovy.
Használhatja Groovy csak akkor, ha a Grált akarod használni. A Grails egy hatékony webfejlesztési keretrendszer.

De Groovy ennél többet kínál.

Hátrányai a használata Groovy

  • JVM és Groovy A szkript indulási ideje lassú, ami korlátozza az operációs rendszer szintű parancsfájlokat
  • Groovy más közösségekben nem teljesen elfogadott.
  • Nem kényelmes a használata Groovy IDE használata nélkül
  • Groovy lassabb lehet, ami növelte a fejlesztési időt
  • Groovy sok memóriára lehet szüksége
  • Ismerete Java elengedhetetlen.

Groovy Eszközök

Ebben 3 fontos eszközről fogunk beszélni Groovy script tutorial

1. groovysh: Interaktívan hajtja végre a kódot.

2. groovyConsole: GUI interaktív kódvégrehajtáshoz

3. groovy: Groovy szkripteket hajt végre. Használhatod, mint Perl, PythonStb

Groovysh

  • parancssori shell
  • Segít a végrehajtásban Groovy interaktív kódot
  • Lehetővé teszi utasítások vagy teljes szkriptek bevitelét

Groovy Eszközök

Groovy konzolra

  • Swing interfész, amely minimális Groovy fejlesztő szerkesztő.
  • Lehetővé teszi az interakciót Groovy kód
  • Segít betölteni és futni Groovy script fájlokat

Groovy Eszközök

Groovy

A processzor hajtja végre Groovy programok és szkriptek. U

Egyszerű tesztelésre használható Groovy kifejezések.

Groovy Eszközök

Összegzésként

  • Groovy egy objektum-orientált programozási nyelv, amelyet a Java emelvény
  • Groovy A scripting zökkenőmentes integrációt kínál az összes létezővel Java tárgyak és könyvtárak
  • Bob McWhirTer & James Strachan 2003-ban fejlesztette ki a groovy-t
  • A lista, a térkép, a tartomány, a reguláris kifejezés literálok fontos jellemzői Groovy
  • Négy típusú operátort támogat Groovy 1. Relációs 2. Logikai 3. Bitenkénti 4. Hozzárendelés
  • Groovy döntéshozatalt hajtott végre if, if/else, Nested if, switch, Netsted switch utasításokkal
  • A listastruktúra lehetővé teszi az adatelemek gyűjteményének tárolását
  • Egy térkép Groovy a kulcsértékpárok gyűjteménye
  • In Groovy, Getterek és setterek automatikusan generálódnak az osztály tagjai számára
  • In Java, használhatja a biztosíts getters és setters metódust a mezőkhöz
  • A legnagyobb mítosz arról Groovy az, hogy csak olyan szkriptekhez használható, amelyek nem helyesek
  • Majd valamikor Groovy lassabb lehet, ami növelte a fejlesztési időt
  • Három Groovy Az eszközök a következők: groovysh, amely kódot hajt végre, groovy Console, amely az interaktív kódvégrehajtás grafikus felhasználói felülete, és groovy, amely szkripteket hajt végre