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.
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
Vaihe 4) Tuoda markkinoille. Napsauta tervetulonäytössä SEURAAVA
Vaihe 5) Hyväksy lisenssiehdot
Vaihe 6) Valitse asennettavat komponentit ja napsauta SEURAAVA
Vaihe 7) Valitse Asennushakemisto ja napsauta SEURAAVA
Vaihe 8) Valitse Käynnistä-valikon kansio ja napsauta SEURAAVA
Vaihe 9) Kun asennus on valmis, anna polkujen oletusarvot ja napsauta SEURAAVA
Vaihe 10) Napsauta SEURAAVA
Vaihe 11) Etsi aloitusvalikosta Groovy Console
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 console
- Swing-käyttöliittymä, joka toimii minimaalisena Groovy kehityseditori.
- Mahdollistaa vuorovaikutuksen Groovy koodi
- Auttaa lataamisessa ja juoksemisessa Groovy komentosarjatiedostot
Groovy
Se on prosessori, joka suorittaa Groovy ohjelmia ja skriptejä. U
Sitä voidaan käyttää yksinkertaiseen testaukseen Groovy ilmaisuja.
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ä