Groovy Skriptiõpetus algajatele
Mis on a Groovy Skript?
Apache Groovy on objektorienteeritud ja Java jaoks loodud süntaksiga ühilduv programmeerimiskeel Java platvorm. Sellel dünaamilisel keelel on palju sarnaseid funktsioone Python, Ruby, Smalltalk ja Pero. Groovy lähtekood kompileeritakse Java Baitkood, et see saaks töötada mis tahes platvormil, millele on installitud JRE. Groovy täidab ka palju lava taga ülesandeid, mis muudab selle väledamaks ja dünaamilisemaks.
Groovy keelt saab kasutada skriptikeelena Java platvorm. See on peaaegu nagu superversioon Java mis pakub Javaettevõtte võimalused. Samuti pakub see palju tootlikkuse funktsioone, nagu DSL-i tugi, sulgemised ja dünaamiline tippimine. Erinevalt mõnest teisest keelest on see loodud kaaslaseks, mitte selle asendajaks Java.
Miks Groovy?
Siin on peamised põhjused, miks peaksite kasutama ja õppima Groovy-
- Groovy on vilgas ja dünaamiline keel
- Sujuv integreerimine kõigi olemasolevatega Java objektid ja raamatukogud
- Tundub lihtne ja loomulik Java Arendajad
- Võrreldes sisulisema ja sisukama koodiga Java
- Saate seda kasutada nii palju või nii vähe kui soovite Java apps
Groovy ajalugu
- 2003: välja töötanud Bob McWhirter ja James Strachan
- 2004: telliti JSR 241-le, kuid see jäeti maha
- 2005: tagasi toonud Jeremy Rayner ja Guillaume Laforge
- 2007: Groovy versioon 1.0
- 2012: Groovy versioon 2
- 2014: Groovy versioon 2.3 (JDK 8 ametlik tugi)
- 2015: Groovy sai Apache tarkvara projektiks Foundation
Tunnused Groovy
- Loend, kaart, vahemik, regulaaravaldise literaalid
- Multimeetod ja metaprogrammeerimine
- Groovy klassid ja skriptid salvestatakse tavaliselt .groovy failidesse
- Skriptid sisaldavad Groovy laused ilma klassideklaratsioonita.
- Skriptid võivad sisaldada ka väljaspool klassimääratlusi meetodi määratlusi.
- Seda saab koostada ja traditsioonilisega täielikult integreerida Java taotlus.
- Keeletaseme tugi kaartidele, loenditele, regulaaravaldistele
- Toetab sulgemisi, dünaamilist tippimist, metaobjekti protokolli
- Staatilise ja dünaamilise tippimise ja operaatori ülekoormuse tugi
- Literaalne deklaratsioon loendite (massiivide), kaartide, vahemike ja regulaaravaldiste jaoks
Kuidas paigaldada Groovy
Step 1) Veenduge, et teil on Java paigaldatud.
Step 2) Minna http://groovy-lang.org/download.html ja klõpsake Installer.
Märkus. Saate ka installida Groovy kasutades ZIP-faili või kui Eclipse IDE. Selle Groovy õpetusest me jäämegi Windows Installer
Step 3) Käivitage allalaaditud installiprogramm. Valige keel ja klõpsake nuppu OK
Step 4) Käivitage. Tervituskuval klõpsake nuppu JÄRGMINE
Step 5) Nõustuge litsentsitingimustega
Step 6) Valige komponendid, mida soovite installida, ja klõpsake nuppu NEXT
Step 7) Valige Installikataloog ja klõpsake NEXT
Step 8) Valige Start Menüü kaust ja klõpsake NEXT
Step 9) Kui installimine on lõpetatud, laske radadel vaikeväärtused ja klõpsake nuppu NEXT
Step 10) Klõpsake nuppu JÄRGMINE
Step 11) Start Menüüst otsige Groovy konsool
Groovy Tere maailma näide
Mõelge, et tahame printida lihtsa stringi "Tere maailm". Java. Kood stringi saavutamiseks Groovy tere maailm oleks
public class Demo { public static void main(String[] args) { System.out.println("Hello World"); } }
Ülaltoodud kood kehtib mõlemas Java ja Groovy as Groovy on superkomplekt Java. Aga eelis koos Groovy on see, et saame loobuda klassi loomisest, avaliku meetodi loomisest jne ja saavutada sama väljund ühe rea koodiga järgmiselt:
println "Hello World."
Semikooloneid pole vaja
Sulgusid pole vaja
System.out.println on taandatud väärtusele println
Groovy Muutujad
In Java, staatiline sidumine on kohustuslik. See tähendab, et muutuja tüüp tuleb eelnevalt deklareerida.
public class Demo { public static void main(String[] args) { int x = 104; System.out.println(x); //x = "Guru99"; } }
Selle ülaltoodud näites Groovy õpetus, muutuja tüüp (täisarv) deklareeritakse eelnevalt märksõna “int” abil. Ujukomaarvu deklareerimiseks kasutate märksõna float.
Kui proovite määrata int-le stringi väärtust (kommentaaride tühistamise rida nr 5), kuvatakse järgmine tõrketeade
Demo.java:5: error: incompatible types: String cannot be converted to int x = "Guru99";
Seevastu Groovy toetab dünaamilist tippimist. Muutujad defineeritakse märksõnaga "def" ja muutuja tüüpi ei pea eelnevalt deklareerima. Kompilaator selgitab välja muutuja tüübi käitusajal ja saate isegi muutuja tüübi.
Mõelge järgmisele peenele näitele,
def x = 104 println x.getClass() x = "Guru99" println x.getClass()
Väljund:
class java.lang.Integer class java.lang.String
In Groovy, saate luua mitmerealisi stringe. Lihtsalt veenduge, et panite stringi kolmekordsetesse jutumärkidesse.
def x = """Groovy at Guru99""" println x
Väljund:
Groovy at Guru99
märkused: saate siiski kasutada muutuvaid tüüpe, nagu bait, lühike, int, pikk jne Groovy. Kuid te ei saa dünaamiliselt muuta muutuja tüüpi, nagu olete selle selgesõnaliselt deklareerinud.
Mõelge järgmisele koodile:
int x = 104 println x x = "Guru99"
See annab järgmise vea
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-Operatorse
Operaator on sümbol, mis käsib kompilaatoril teha teatud matemaatilisi või loogilisi manipulatsioone.
Groovy omab järgmist viit tüüpi operaatoreid –
- Aritmeetilised operaatorid: liitmine (+), lahutamine (-), korrutamine (*), jagamine (/)
- Relatsioonioperaatorid: võrdne (==), mitte võrdne (!=), Less kui (<) Less kui või võrdne (<=), suurem kui (>), suurem või võrdne (>=)
- Loogilised operaatorid: ja (&&), või(||), mitte(!)
- Bitioperaatorid: And(&), Or(|), (^), Xor või Exclusive-or operaator
- Määramise operaatorid: eituse operaator (~)
Groovy- Silmused
In Java, määratleksite tsükli järgmiselt
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x++) { System.out.println(x); } } }
Väljund:
0 1 2 3 4
Saate saavutada sama väljundi Groovy kasutades kuni märksõnu
0.upto(4) {println "$it"}
Saate sama väljundi nagu ülal. $it on sulgur, mis annab vooluahela väärtuse.
Mõelge järgmisele koodile
2.upto(4) {println "$it"}
See annab väljundi
2 3 4
Sama väljundi saamiseks võite kasutada ka märksõna "time".
5.times{println "$it"}
Mõelge, kas soovite printida 0,2,4 sisselülitamiseks Java
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x=x+2) { System.out.println(x); } } }
Väljund:
0 2 4
Selleks saate kasutada astmelist meetodit
0.step(7,2){println "$it"}
Groovy- Otsuste tegemine
Avaldused | Deception |
---|---|
kui Avaldus | Nagu Java, käivitatakse if-lause, kui tingimus on tõene. |
kui/muidu Avaldus | If/else-lauses hinnatakse kõigepealt tingimust if-lauses. Kui tingimus on tõene, siis täidab laused pärast seda. See peatub enne muud tingimust ja väljub tsüklist. Kui aga tingimus on väär, siis täidab avaldused else lauseplokis. Seejärel väljub see ahelast. |
Pesastatud Ifi avaldus | Seda kasutatakse siis, kui nõutakse mitut if-lauset. |
Lülitage avaldus | Pesastatud if-else lause võib muutuda loetamatuks, kui teil on mitu tingimust. Koodi loetavamaks muutmiseks kasutatakse lülitilauset. |
Pesastatud lüliti avaldus | In Groovy on võimalik kasutada ka pesastatud lüliti lauseid. |
Groovy nimekiri
Loendi struktuur võimaldab salvestada andmekogumi Üksused. Aastal a Groovy programmeerimiskeeles, sisaldab loend objektiviidete jada. See näitab ka positsiooni järjestuses. Loendiliteraal esitatakse objektide seeriana, mis on eraldatud komadega ja suletud nurksulgudesse.
Grrovy loendi näide:
Stringide loend – ['Angular', 'Nodejs,]
Objekti viidete loend – ['Groovy', 2,4 2.6]
Täisarvude väärtuste loend – [16, 17, 18, 19]
Tühi nimekiri – [ ]
Järgmised on loendis saadaolevad meetodid Groovy:
Meetodid | Kirjeldus |
---|---|
lisama() | Võimaldab lisada uue väärtuse selle loendi lõppu. |
sisaldab() | Tagastab tõene, kui see loend sisaldab teatud väärtust. |
saada () | Tagastab elemendi kindlas kohas |
on tühi() | Tagastab tõelise väärtuse, kui loendis pole elemente |
miinus() | See käsk võimaldab teil luua uue loendi, mis koosneb originaali elementidest, välja arvatud need, mis on kogus määratud. |
pluss() | Võimaldab luua uue loendi, mis koosneb originaali elementidest koos kogus mainitud elementidega. |
pop () | Eemaldab loendist viimase üksuse |
eemalda () | Eemaldab elemendi konkreetses kohas |
tagurpidi() | Looge uus loend, mis muudab algse loendi elemendid ümber |
suurus () | Tagastab selle loendi elementide arvu |
sort () | Tagastab sorteeritud koopia |
Mõelge järgmisele Groovy skripti näide
def y = ["Guru99", "is", "Best", "for", "Groovy"] println y y.add("Learning") println(y.contains("is")) println(y.get(2)) println(y.pop())
Väljund:
[Guru99, is, Best, for, Groovy] true Best Learning
Groovy kaardid
Kaart Groovy on võtmeväärtuste paaride kogu
Näited Groovy kaardid:
- [Õpetus: 'Java, Õpetus: 'Groovy] – võtme-väärtuste paaride kogum, mille võtmeks on Tutorial ja nende vastavad väärtused
- [ : ] Esindab tühja kaarti
Siin on loend saadaolevatest kaardimeetoditest Groovy.
Meetodid | Kirjeldus |
---|---|
sisaldabKey() | Kontrollige, kas kaart sisaldab seda võtit või mitte? |
saada () | See käsk otsib sellelt kaardilt võtme ja tagastab vastava väärtuse. Kui te sellelt kaardil kirjet ei leia, tagastab see null. |
keySet() | Võimaldab leida sellelt kaardilt võtmete komplekti |
pane() | Seob määratud väärtuse antud kaardil antud võtmega. Kui kaart sisaldas varem selle võtme vastendamist. Seejärel asendatakse vana väärtus määratud väärtusega. |
suurus () | Tagastab võtme-väärtuste vastenduste arvu. |
väärtused() | See käsk tagastab väärtuste koguvaate. |
Groovy Näide:
def y = [fName:'Jen', lName:'Cruise', sex:'F'] print y.get("fName")
Väljund
Jen
Groovy- Sulgemised
Vagulik sulgur on objektiks pakitud kooditükk. See toimib meetodi või funktsioonina.
Näide lihtsast sulgemisest
def myClosure = { println "My First Closure" } myClosure()
Väljund:
My First Closure
Sulgur võib parameetreid aktsepteerida. Identifikaatorite loend eraldatakse komadega
nool (->), mis tähistab parameetrite loendi lõppu.
def myClosure = { a,b,c-> y = a+b+c println y } myClosure(1,2,3)
Väljund:
6
Sulgemine võib tagastada väärtuse.
def myClosure = { a,b,c-> return (a+b+c) } println(myClosure(1,2,3))
Väljund:
6
Sisseehitatud sulgureid on palju, nagu "See", "identiteet" jne. Sulgemised võivad parameetritena võtta muid sulgureid.
Groovy Vs. Java
Groovy | Java |
---|---|
In Groovy, vaikejuurdepääsu määraja on avalik. See tähendab, et meetod ilma ühegi määratud juurdepääsumuutuseta on avalik ja juurdepääsetav väljaspool klassi- ja paketipiire. | In Java, on vaikimisi juurdepääsumuutja pakett, st kui te ei määra väljadele, meetoditele või klassidele juurdepääsu modifikaatorit, muutub see paketi privaatseks, |
Getterid ja seadjad genereeritakse klassi liikmetele automaatselt. | Java, peate määratlema väljade hankijate ja seadjate meetodi |
Groovy võimaldab muutujate asendamist stringidega topeltjutumärkide abil. | Java ei toeta muutuja asendamist. |
Teabe sisestamine on valikuline. | Teabe sisestamine on kohustuslik Java. |
Groovy see ei pea lõppema semikooloniga. | In Java, iga väide lõpeb semikooloniga. |
Groovy on automaatselt ümbrisklass nimega Script iga programmi jaoks | In Java, vajate klassi käivitatavaks muutmiseks põhimeetodit. |
Müüdid selle kohta Groovy
Müüt | Reaalsus |
---|---|
Meil on võimalik kasutada Groovy ainult skriptimiseks. | Seda saab kasutada skriptimiseks. Siiski saate peale selle täita ka palju muid ülesandeid. |
Groovy kõik on seotud sulgemisega. "See on lihtsalt funktsionaalne programmeerimiskeel. " | Groovy võtab kasutusele funktsionaalsed programmeerimiskeeled nagu Lisp või Closure. |
Groovy on ideaalne valik, kui soovite teha TDD-d | See väide vastab tõele. Kuid see pole kindlasti ainus põhjus, miks seda kasutada Groovy. |
Võite kasutada Groovy ainult siis, kui soovite Graali kasutada. | Grails on võimas veebiarendusraamistik.
Kuid Groovy pakub enamat. |
Miinused kasutamisel Groovy
- JVM ja Groovy skripti algusaeg on aeglane, mis piirab OS-i tasemel skriptimist
- Groovy ei ole teistes kogukondades täielikult aktsepteeritud.
- Seda pole mugav kasutada Groovy ilma IDE-d kasutamata
- Groovy võib olla aeglasem, mis pikendas arendusaega
- Groovy võib vajada palju mälu
- Teadmine Java on hädavajalik.
Groovy TÖÖRIISTAD
Selles käsitleme 3 olulist tööriista Groovy skripti õpetus
1. groovysh: Käivitab koodi interaktiivselt.
2. groovyConsole: GUI interaktiivseks koodi täitmiseks
3. groovy: Käivitab groovy skripte. Saate seda kasutada nagu Perl, PythonJne
Groovysh
- käsurea kest
- Aitab teil täita Groovy kood interaktiivselt
- Võimaldab sisestada avaldusi või terveid skripte
Groovy lohutada
- Swing-liides, mis toimib minimaalsena Groovy arendustoimetaja.
- Võimaldab suhelda Groovy kood
- Aitab laadida ja joosta Groovy skriptifailid
Groovy
See on protsessor, mis täidab Groovy programmid ja skriptid. U
Seda saab kasutada lihtsa testimiseks Groovy väljendeid.
kokkuvõte
- Groovy on objektorienteeritud programmeerimiskeel, mida kasutatakse Java inimesele
- Groovy skriptimine pakub sujuvat integreerimist kõigi olemasolevatega Java objektid ja raamatukogud
- Bob McWhirter & James Strachan arendasid groovy 2003. aastal
- Loend, kaart, vahemik, regulaaravaldise literaalid on olulised omadused Groovy
- Nelja tüüpi operaatorid toetavad Groovy on 1. Relatsiooniline 2.Loogiline 3. Bitipõhine 4. Määramine
- Groovy tegi otsuseid, kasutades if, if/else, Nested if, switch, Netsted switch lauseid
- Loendi struktuur võimaldab salvestada andmeüksuste kogu
- Kaart Groovy on võtmeväärtuste paaride kogu
- In Groovy, Getterid ja seadjad genereeritakse klassi liikmetele automaatselt
- In Java, saate väljade jaoks kasutada meetodit paku getters ja setters
- Suurim müüt selle kohta Groovy on see, et seda saab kasutada ainult skriptimiseks, mis pole õige
- Mingi aeg Groovy võib olla aeglasem, mis pikendas arendusaega
- Kolm Groovy Tööriistad on: groovysh, mis käivitab koodi, groovy konsool, mis on interaktiivse koodi täitmise GUI ja groovy, mis käivitab skripte