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.

paigaldama Groovy

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

paigaldama Groovy

Step 4) Käivitage. Tervituskuval klõpsake nuppu JÄRGMINE

paigaldama Groovy

Step 5) Nõustuge litsentsitingimustega

paigaldama Groovy

Step 6) Valige komponendid, mida soovite installida, ja klõpsake nuppu NEXT

paigaldama Groovy

Step 7) Valige Installikataloog ja klõpsake NEXT

paigaldama Groovy

Step 8) Valige Start Menüü kaust ja klõpsake NEXT

paigaldama Groovy

Step 9) Kui installimine on lõpetatud, laske radadel vaikeväärtused ja klõpsake nuppu NEXT

paigaldama Groovy

Step 10) Klõpsake nuppu JÄRGMINE

paigaldama Groovy

Step 11) Start Menüüst otsige Groovy konsool

paigaldama Groovy

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 TÖÖRIISTAD

Groovy lohutada

  • Swing-liides, mis toimib minimaalsena Groovy arendustoimetaja.
  • Võimaldab suhelda Groovy kood
  • Aitab laadida ja joosta Groovy skriptifailid

Groovy TÖÖRIISTAD

Groovy

See on protsessor, mis täidab Groovy programmid ja skriptid. U

Seda saab kasutada lihtsa testimiseks Groovy väljendeid.

Groovy TÖÖRIISTAD

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