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.
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
Step 4) Dob. Az üdvözlő képernyőn kattintson a KÖVETKEZŐ gombra
Step 5) Fogadja el a licenc feltételeit
Step 6) Válassza ki a telepíteni kívánt összetevőket, majd kattintson a KÖVETKEZŐ gombra
Step 7) Válassza a Telepítési könyvtár lehetőséget, majd kattintson a NEXT gombra
Step 8) Válassza a Start menü mappáját, majd kattintson a KÖVETKEZŐ gombra
Step 9) A telepítés után hagyja az elérési utat alapértelmezettként, majd kattintson a NEXT gombra
Step 10) Kattintson a KÖVETKEZŐ gombra
Step 11) A Start menüben keressen rá Groovy Konzol
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 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
A processzor hajtja végre Groovy programok és szkriptek. U
Egyszerű tesztelésre használható Groovy kifejezések.
Ö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