Groovy Käsikirjoitusopas aloittelijoille

Mikä on a Groovy Käsikirjoitus?

Apache Groovy on oliosuuntautunut ja Java syntaksiyhteensopiva ohjelmointikieli, joka on rakennettu Java alusta. Tällä dynaamisella kielellä on monia samanlaisia ​​ominaisuuksia kuin Python, Ruby, Smalltalk ja Pero. Groovy lähdekoodi käännetään Java Bytecode, jotta se voi toimia millä tahansa alustalla, johon on asennettu JRE. Groovy suorittaa myös paljon tehtäviä kulissien takana, mikä tekee siitä ketterämmän ja dynaamisemman.

Groovy kieltä voidaan käyttää skriptikielinä Java alusta. Se on melkein kuin superversio Java joka tarjoaa Javayrityksen kykyjä. Se tarjoaa myös monia tuottavuusominaisuuksia, kuten DSL-tuen, sulkemiset ja dynaamisen kirjoittamisen. Toisin kuin jotkut muut kielet, se on suunniteltu kumppaniksi, ei korvaamaan sitä Java.

Miksi Groovy?

Tässä on tärkeimmät syyt, miksi sinun pitäisi käyttää ja oppia Groovy-

  • Groovy on ketterä ja dynaaminen kieli
  • Saumaton integrointi kaikkeen olemassa olevaan Java esineitä ja kirjastoja
  • Tuntuu helpolta ja luonnolliselta Java kehittäjille
  • Suppeampi ja merkityksellisempi koodi verrattuna Java
  • Voit käyttää sitä niin paljon tai vähän kuin haluat Java sovellukset

Groovy Historia

  • 2003: Kehittäjä Bob McWhirter ja James Strachan
  • 2004: Otettiin käyttöön JSR 241:ssä, mutta se hylättiin
  • 2005: Jeremy Rayner ja Guillaume Laforge tuoneet takaisin
  • 2007: Groovy version 1.0
  • 2012: Groovy version 2
  • 2014: Groovy versio 2.3 (virallinen tuki JDK 8:lle)
  • 2015: Groovy tuli Apache Softwaren projektiksi Foundation

Ominaisuudet Groovy

  • Lista, kartta, alue, säännöllisen lausekkeen literaalit
  • Monimenetelmä ja metaohjelmointi
  • Groovy luokat ja komentosarjat tallennetaan yleensä .groovy-tiedostoihin
  • Skriptit sisältävät Groovy lausekkeita ilman luokkailmoitusta.
  • Skriptit voivat sisältää myös menetelmämääritelmiä luokkamääritelmien ulkopuolella.
  • Se voidaan koota ja integroida täysin perinteiseen Java sovellus.
  • Kielitason tuki karttoille, luetteloille ja säännöllisille lausekkeille
  • Tukee sulkemisia, dynaamista kirjoittamista, metaobjektiprotokollaa
  • Tuki staattiselle ja dynaamiselle kirjoittamiselle ja operaattorin ylikuormitukselle
  • Kirjaimellinen määritys luetteloille (taulukoille), kartoille, alueille ja säännöllisille lausekkeille

Kuinka asentaa Groovy

Vaihe 1) Varmista, että sinulla on Java asennetaan.

Vaihe 2) Mene http://groovy-lang.org/download.html ja napsauta asennusohjelmaa.

asentaa Groovy

Huomautus: Voit myös asentaa Groovy käyttämällä Zip-tiedostoa tai Eclipse IDE. Tässä Groovy opetusohjelma, pysymme siinä Windows asentaja

Vaihe 3) Käynnistä ladattu asennusohjelma. Valitse kieli ja napsauta OK

asentaa Groovy

Vaihe 4) Tuoda markkinoille. Napsauta tervetulonäytössä SEURAAVA

asentaa Groovy

Vaihe 5) Hyväksy lisenssiehdot

asentaa Groovy

Vaihe 6) Valitse asennettavat komponentit ja napsauta SEURAAVA

asentaa Groovy

Vaihe 7) Valitse Asennushakemisto ja napsauta SEURAAVA

asentaa Groovy

Vaihe 8) Valitse Käynnistä-valikon kansio ja napsauta SEURAAVA

asentaa Groovy

Vaihe 9) Kun asennus on valmis, anna polkujen oletusarvot ja napsauta SEURAAVA

asentaa Groovy

Vaihe 10) Napsauta SEURAAVA

asentaa Groovy

Vaihe 11) Etsi aloitusvalikosta Groovy Console

asentaa Groovy

Groovy Hei maailma -esimerkki

Harkitse, että haluamme tulostaa yksinkertaisen merkkijonon "Hello World". Java. Koodi merkkijonon saavuttamiseksi Groovy hei maailma olisi

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

Yllä oleva koodi on voimassa molemmissa Java ja Groovy as Groovy on superjoukko Java. Mutta etu kanssa Groovy on, että voimme lopettaa luokan luomisen, julkisen menetelmän luomisen jne ja saavuttaa saman tulosteen yhdellä rivikoodilla seuraavasti:

println "Hello World."

Puolipisteitä ei tarvita

Sulkuja ei tarvita

System.out.println pienenee muotoon println

Groovy Muuttujat

In Java, staattinen sidonta on pakollinen. Muuttujan tyyppi on ilmoitettava etukäteen.

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

Yllä olevassa esimerkissä tästä Groovy opetusohjelmassa, muuttujan tyyppi (kokonaisluku) ilmoitetaan etukäteen avainsanalla "int". Jos ilmoittaisit liukulukuluvun, käytät avainsanaa float.

Jos yrität määrittää merkkijonoarvon int:lle (poista kommentointirivi #5), saat seuraavan virheilmoituksen

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

Verrattuna, Groovy tukee dynaamista kirjoittamista. Muuttujat määritellään avainsanalla "def", eikä muuttujan tyyppiä tarvitse ilmoittaa etukäteen. Kääntäjä selvittää muuttujan tyypin ajon aikana ja voit jopa muuttujan tyypin.

Harkitse seuraavaa hienoa esimerkkiä,

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

lähtö:

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

In Groovy, voit luoda monirivisiä merkkijonoja. Varmista vain, että kirjoitit merkkijonon kolminkertaisiin lainausmerkkeihin.

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

lähtö:

Groovy
at
Guru99

Huomautuksia: Voit silti käyttää muuttujatyyppejä, kuten byte, short, int, long jne Groovy. Mutta et voi muuttaa dynaamisesti muuttujan tyyppiä sellaisena kuin olet sen nimenomaisesti ilmoittanut.

Harkitse seuraavaa koodia:

int x = 104
println x
x = "Guru99"

Se antaa seuraavan virheen

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

Operaattori on symboli, joka käskee kääntäjää tekemään tiettyjä matemaattisia tai loogisia manipulaatioita.

Groovy sillä on seuraavat viisi operaattorityyppiä -

  • Aritmeettiset operaattorit: yhteenlasku (+), vähennys (-), kertolasku (*), jako (/)
  • Relaatiooperaattorit: yhtä suuri kuin (==), ei yhtä suuri kuin (!=), Less kuin (<) Less kuin tai yhtä suuri kuin (<=), suurempi kuin (>), suurempi tai yhtä suuri kuin (>=)
  • Loogiset operaattorit: Ja (&&), Or(||), Ei(!)
  • Bittikohtaiset operaattorit: And(&), Or(|), (^), Xor tai Exclusive-or-operaattori
  • Tehtäväoperaattorit: Negaatiooperaattori (~)

Groovy- Silmukat

In Java, määrität silmukan seuraavasti

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

lähtö:

0
1
2
3
4

Voit saavuttaa saman tuloksen Groovy käyttämällä jopa avainsanoja

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

Saat saman tulosteen kuin yllä. $se on sulkeminen, joka antaa nykyisen silmukan arvon.

Harkitse seuraavaa koodia

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

Se antaa lähdön

2
3
4

Voit myös käyttää "time"-avainsanaa saadaksesi saman tuloksen

5.times{println "$it"}

Harkitse, haluatko tulostaa 0,2,4:llä silmukka sisään Java

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

lähtö:

0
2
4

Voit käyttää samaan vaihemenetelmää

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

Groovy- Päätöksenteko

Lausunnot Petos
jos lausunto Kuten vuonna Java, if-lause suoritetaan, jos ehto on tosi.
jos/else lausunto If/else-lauseessa ensin ehto arvioidaan if-lauseessa. Jos ehto on tosi, suorittaa lauseet sen jälkeen. Se pysähtyy ennen else-ehtoa ja poistuu silmukasta. Kuitenkin, jos ehto on epätosi, suorittaa käskyt else-lauselohkossa. Sitten se poistuu silmukasta.
Sisäkkäinen If-lausunto Sitä käytetään, kun vaaditaan useita if-lauseita.
Vaihda lause Sisäkkäisestä if-else-lauseesta voi tulla lukukelvoton, jos sinulla on useita ehtoja. Jotta koodi olisi luettavampaa, käytetään kytkinlausetta.
Sisäkkäinen kytkinlausunto In Groovy on myös mahdollista käyttää sisäkkäisiä kytkinlauseita.

Groovy Lista

Listarakenteen avulla voit tallentaa kokoelman tietokohteita. Vuonna a Groovy ohjelmointikielellä List sisältää sarjan objektiviittauksia. Se näyttää myös sijainnin sarjassa. Listaliteraali esitetään pilkuilla erotettuna ja hakasulkeisiin merkittyjen objektien sarjana.

Esimerkki Grrovyn listasta:

Luettelo merkkijonoista - ['Angular', "Nodejs",]

Luettelo objektiviittauksista – ['Groovy', 2,4 2.6]

Luettelo kokonaislukuarvoista – [16, 17, 18, 19]

Tyhjä lista - [ ]

Seuraavassa on luettelo käytettävissä olevista menetelmistä Groovy:

Menetelmät Tuotetiedot
lisätä() Voit lisätä uuden arvon tämän luettelon loppuun.
sisältää() Palauttaa tosi, jos tämä lista sisältää tietyn arvon.
saada() Palauttaa elementin määrättyyn paikkaan
on tyhjä() Palauttaa todellisen arvon, jos luettelo ei sisällä elementtejä
miinus() Tämän komennon avulla voit luoda uuden luettelon, joka koostuu alkuperäisen elementistä, lukuun ottamatta kokoelmassa määritettyjä elementtejä.
plus() Voit luoda uuden luettelon, joka koostuu alkuperäisen elementin elementeistä sekä kokoelmassa mainituista.
pop() Poistaa viimeisen kohteen luettelosta
Poista() Poistaa elementin tietystä kohdasta
käänteinen() Luo uusi luettelo, joka kääntää alkuperäisen luettelon elementit
koko() Palauttaa tämän luettelon elementtien määrän
järjestellä() Palauttaa lajitellun kopion

Harkitse seuraavaa Groovy skriptiesimerkki

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

lähtö:

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

Groovy Kartat

Kartta Groovy on kokoelma avainarvopareja

Esimerkkejä Groovy kartat:

  • [Opetusohjelma: 'Java, opetusohjelma: 'Groovy] – Avain-arvo-parien kokoelma, jonka avaimena on Tutorial ja niitä vastaavat arvot
  • [ : ] Edustaa tyhjää karttaa

Tässä on luettelo käytettävissä olevista karttamenetelmistä Groovy.

Menetelmät Tuotetiedot
sisältääKey() Tarkista, että kartta sisältää tämän avaimen vai ei?
saada() Tämä komento etsii avaimen tästä kartasta ja palauttaa vastaavan arvon. Jos et löydä merkintää tästä kartasta, se palauttaa tyhjän.
keySet () Mahdollistaa avainten löytämisen tästä kartasta
laittaa() Yhdistää määritetyn arvon annettuun avaimeen tässä kartassa. Jos kartta sisälsi aiemmin kartoituksen tälle avaimelle. Sitten vanha arvo korvataan määritetyllä arvolla.
koko() Palauttaa avainarvojen määritysten määrän.
arvot () Tämä komento palauttaa arvojen kokoelmanäkymän.

Groovy Esimerkiksi:

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

ulostulo

Jen

Groovy- Sulkemiset

Uraava suljin on esineeksi kääritty koodinpätkä. Se toimii menetelmänä tai funktiona.

Esimerkki yksinkertaisesta sulkemisesta

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

lähtö:

My First Closure

Sulkeminen voi hyväksyä parametreja. Tunnisteluettelo on erotettu pilkulla

nuoli (->), joka merkitsee parametriluettelon loppua.

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

lähtö:

6

Sulkeminen voi palauttaa arvon.

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

lähtö:

6

On olemassa monia sisäänrakennettuja sulkuja, kuten "It", "identiteetti" jne. Sulkemiset voivat käyttää muita sulkuja parametreina.

Groovy Vs. Java

Groovy Java
In Groovy, oletusarvoinen käyttöoikeusmääritys on julkinen. Se tarkoittaa, että menetelmä, jossa ei ole määritettyä käyttöoikeusmuutosta, on julkinen ja käytettävissä luokka- ja pakettirajojen ulkopuolella. In Java, oletusarvoinen käyttöoikeusmuuttaja on paketti, eli jos et määritä kentälle, menetelmille tai luokalle pääsyn muokkaajaa, siitä tulee pakettiyksityinen,
Getterit ja asettajat luodaan automaattisesti luokan jäsenille. Java, sinun on määritettävä kentille getters and setters -menetelmä
Groovy mahdollistaa muuttujien korvaamisen käyttämällä kaksoislainausmerkkejä merkkijonojen kanssa. Java ei tue muuttujan korvaamista.
Tietojen kirjoittaminen on valinnaista. Tietojen kirjoittaminen on pakollista Java.
Groovy sen ei tarvitse päättyä puolipisteeseen. In Java, jokainen lause päättyy puolipisteeseen.
Groovy on automaattisesti rivitysluokka nimeltä Script jokaiselle ohjelmalle In Java, tarvitset päämenetelmän tehdäksesi luokan suoritettavan.

Myyttejä aiheesta Groovy

Myytti Todellisuus
Voimme käyttää Groovy vain käsikirjoitusta varten. Sitä voidaan käyttää skriptaukseen. Voit kuitenkin suorittaa monia muita tehtäviä sen lisäksi.
Groovy kyse on sulkemisesta. "Se on vain toiminnallinen ohjelmointikieli" Groovy omaksuu toiminnallisista ohjelmointikielistä, kuten Lisp tai Closure.
Groovy on ihanteellinen valinta, jos haluat tehdä TDD Tämä väite on totta. Se ei kuitenkaan todellakaan ole ainoa syy käyttää Groovy.
Voit käyttää Groovy vain jos haluat käyttää Grailia. Grails on tehokas verkkokehityskehys.

Mutta Groovy tarjoaa enemmän.

Miinukset käytön Groovy

  • JVM ja Groovy skriptin alkamisaika on hidas, mikä rajoittaa käyttöjärjestelmätason komentosarjaa
  • Groovy ei ole täysin hyväksytty muissa yhteisöissä.
  • Se ei ole kätevä käyttää Groovy ilman IDE:tä
  • Groovy voi olla hitaampaa, mikä pidensi kehitysaikaa
  • Groovy saattaa tarvita paljon muistia
  • Tietämys Java on välttämätöntä.

Groovy Työkalut

Keskustelemme tässä kolmesta tärkeästä työkalusta Groovy käsikirjoituksen opetusohjelma

1. groovysh: Suorittaa koodin interaktiivisesti.

2. groovyConsole: GUI interaktiiviseen koodin suorittamiseen

3. groovy: Suorittaa groovy-skriptejä. Voit käyttää sitä kuten Perl, Python, Jne

Groovysh

  • komentorivin kuori
  • Auttaa sinua toteuttamaan Groovy koodi interaktiivisesti
  • Mahdollistaa lausekkeiden tai kokonaisten skriptien syöttämisen

Groovy Työkalut

Groovy console

  • Swing-käyttöliittymä, joka toimii minimaalisena Groovy kehityseditori.
  • Mahdollistaa vuorovaikutuksen Groovy koodi
  • Auttaa lataamisessa ja juoksemisessa Groovy komentosarjatiedostot

Groovy Työkalut

Groovy

Se on prosessori, joka suorittaa Groovy ohjelmia ja skriptejä. U

Sitä voidaan käyttää yksinkertaiseen testaukseen Groovy ilmaisuja.

Groovy Työkalut

Yhteenveto

  • Groovy on olio-ohjelmointikieli, jota käytetään Java foorumi
  • Groovy scripting tarjoaa saumattoman integraation kaikkiin olemassa oleviin Java esineitä ja kirjastoja
  • Bob McWhirter & James Strachan kehittivät groovyn vuonna 2003
  • Lista, kartta, alue, säännölliset lausekkeet ovat tärkeitä ominaisuuksia Groovy
  • Neljän tyyppisiä operaattoreita tukee Groovy ovat 1. Relaatio 2. Loogiset 3. Bittikohtaiset 4. Tehtävä
  • Groovy tehnyt päätöksenteon if, if/else, Nested if, switch, Netsted switch -lauseiden avulla
  • Luettelorakenteen avulla voit tallentaa kokoelman tietokohteita
  • Kartta Groovy on kokoelma avainarvopareja
  • In Groovy, Getterit ja asettajat luodaan automaattisesti luokan jäsenille
  • In Java, voit käyttää tarjoa getters and setters -menetelmää kentille
  • Suurin myytti aiheesta Groovy on, että sitä voidaan käyttää vain komentosarjaan, joka ei ole oikein
  • Jonkin aikaa Groovy voi olla hitaampaa, mikä pidensi kehitysaikaa
  • Kolme Groovy Työkaluja ovat: groovysh joka suorittaa koodia, groovy Console joka on graafinen käyttöliittymä interaktiiviseen koodin suorittamiseen ja groovy joka suorittaa skriptejä