Groovy Tutorial de script pentru începători
Ce este a Groovy Scenariul?
Apache Groovy este un obiect orientat şi Java limbaj de programare compatibil cu sintaxă, creat pentru Java platformă. Acest limbaj dinamic are multe caracteristici care sunt similare cu Python, Ruby, Smalltalk și Pero. Groovy codul sursă este compilat în Java Bytecode, astfel încât să poată rula pe orice platformă care are instalat JRE. Groovy îndeplinește, de asemenea, o mulțime de sarcini în spatele scenei, ceea ce îl face mai agil și mai dinamic.
Groovy limbajul poate fi folosit ca limbaj de scripting pentru Java platformă. Este aproape ca o versiune super a Java care oferă Javacapacitățile întreprinderii lui. De asemenea, oferă multe funcții de productivitate, cum ar fi suport DSL, închideri și tastare dinamică. Spre deosebire de alte limbi, este conceput ca un însoțitor, nu un înlocuitor pentru Java.
De ce Groovy?
Iată motivele majore pentru care ar trebui să folosești și să înveți Groovy-
- Groovy este un limbaj agil și dinamic
- Integrare perfectă cu toate cele existente Java obiecte și biblioteci
- Se simte ușor și natural Java Dezvoltatorii
- Un cod mai concis și mai semnificativ în comparație cu Java
- Îl poți folosi atât cât vrei Java Apps
Groovy Istorie
- 2003: Dezvoltat de Bob McWhirter & James Strachan
- 2004: Dat în funcțiune în JSR 241, dar a fost abandonat
- 2005: Adus înapoi de Jeremy Rayner și Guillaume Laforge
- 2007: Groovy Versiunea 1.0
- 2012: Groovy Versiunea 2
- 2014: Groovy versiunea 2.3 (suport oficial oferit pentru JDK 8)
- 2015: Groovy a devenit un proiect la Apache Software Foundation
Caracteristicile Groovy
- Listă, hartă, interval, literali cu expresii regulate
- Multimetodă și metaprogramare
- Groovy clasele și scripturile sunt de obicei stocate în fișiere .groovy
- Scripturile conțin Groovy declarații fără nicio declarație de clasă.
- Scripturile pot conține, de asemenea, definiții de metode în afara definițiilor de clasă.
- Poate fi compilat și integrat complet cu tradițional Java aplicație.
- Suport la nivel de limbă pentru hărți, liste, expresii regulate
- Suportă închideri, tastare dinamică, protocol metaobiect
- Suport pentru tastarea statică și dinamică și supraîncărcarea operatorului
- Declarație literală pentru liste (matrice), hărți, intervale și expresii regulate
Cum se instalează Groovy
Pas 1) Asigură-te că ai Java instalat.
Pas 2) Mergi la pagina http://groovy-lang.org/download.html și faceți clic pe installer.
Notă: De asemenea, puteți instala Groovy folosind fișierul Zip sau ca un Eclipse IDE. În acest Groovy tutorial, ne vom menține Windows Installer
Pas 3) Lansați programul de instalare descărcat. Selectați limba și faceți clic pe OK
Pas 4) Lansa. În ecranul de întâmpinare, faceți clic pe NEXT
Pas 5) De acord cu termenii licenței
Pas 6) Selectați componentele pe care doriți să le instalați și faceți clic pe NEXT
Pas 7) Selectați Directory de instalare și faceți clic pe NEXT
Pas 8) Alegeți folderul meniului Start și faceți clic pe NEXT
Pas 9) Odată ce instalarea este finalizată, lăsați căile implicite și faceți clic pe NEXT
Pas 10) Faceți clic pe NEXT
Pas 11) În meniul de pornire, căutați Groovy Consoleze
Groovy Hello World Exemplu
Luați în considerare că vrem să tipărim un șir simplu „Hello World” în Java. Codul pentru a realiza șirul Groovy salut lumea ar fi
public class Demo { public static void main(String[] args) { System.out.println("Hello World"); } }
Codul de mai sus este valabil în ambele Java si Groovy as Groovy este un superset de Java. Dar avantajul cu Groovy este că putem elimina crearea clasei, crearea metodelor publice etc. și obținem aceeași ieșire cu un singur cod de linie, după cum urmează:
println "Hello World."
Nu este nevoie de punct și virgulă
Nu este nevoie de paranteză
System.out.println este redus la println
Groovy Variabile
In Java, legarea statică este obligatorie. Adică tipul unei variabile trebuie declarat în prealabil.
public class Demo { public static void main(String[] args) { int x = 104; System.out.println(x); //x = "Guru99"; } }
În exemplul de mai sus Groovy tutorial, tipul de variabilă (întreg) este declarat în prealabil folosind cuvântul cheie „int”. Dacă ar fi să declarați un număr în virgulă mobilă, utilizați cuvântul cheie float.
Dacă încercați să atribuiți o valoare String unui int (linia de decomentare #5), veți obține următoarea eroare
Demo.java:5: error: incompatible types: String cannot be converted to int x = "Guru99";
In contrast, Groovy acceptă tastarea dinamică. Variabilele sunt definite folosind cuvântul cheie „def”, iar tipul unei variabile nu trebuie declarat în prealabil. Compilatorul descoperă tipul de variabilă în timpul execuției și puteți chiar și tipul de variabilă.
Luați în considerare următorul exemplu grozav,
def x = 104 println x.getClass() x = "Guru99" println x.getClass()
ieșire:
class java.lang.Integer class java.lang.String
In Groovy, puteți crea șiruri cu mai multe linii. Doar asigurați-vă că ați inclus șirul între ghilimele triple.
def x = """Groovy at Guru99""" println x
ieșire:
Groovy at Guru99
notițe: Puteți încă variabile tipuri precum byte, short, int, long etc Groovy. Dar nu puteți schimba dinamic tipul de variabilă așa cum ați declarat-o în mod explicit.
Luați în considerare următorul cod:
int x = 104 println x x = "Guru99"
Dă următoarea eroare
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-Operatori
Un operator este un simbol care îi spune compilatorului să facă anumite manipulări matematice sau logice.
Groovy are următoarele cinci tipuri de operatori -
- Operatori aritmetici: Adunare (+), Scădere (-), Înmulțire (*), Împărțire(/)
- Operatori relaționali: egal cu (==), Nu este egal cu (!=), Less decât (<) Less decât sau egal cu (<=), Mai mare decât (>), Mai mare sau egal cu (>=)
- Operatori logici: Și (&&), Sau(||), Nu(!)
- Operatori pe biți: și (&), Sau (|), (^), Xor sau operator Exclusiv-sau
- Operatori de atribuire: operator de negație (~)
Groovy- Bucle
In Java, ați defini o buclă după cum urmează
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x++) { System.out.println(x); } } }
ieșire:
0 1 2 3 4
Puteți obține aceeași ieșire în Groovy folosind până la cuvinte cheie
0.upto(4) {println "$it"}
Obțineți aceeași ieșire ca mai sus. $este o închidere care dă valoarea buclei curente.
Luați în considerare următorul cod
2.upto(4) {println "$it"}
Oferă o ieșire
2 3 4
De asemenea, puteți utiliza cuvântul cheie „time” pentru a obține aceeași rezultate
5.times{println "$it"}
Luați în considerare, doriți să imprimați 0,2,4 cu pentru buclă Java
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x=x+2) { System.out.println(x); } } }
ieșire:
0 2 4
Puteți folosi metoda pasului pentru același lucru
0.step(7,2){println "$it"}
Groovy- Luarea deciziilor
Declaratii | Înşelăciune |
---|---|
if Statement | Ca în Java, instrucțiunea if este executată dacă condiția este adevărată. |
Declarație dacă/altfel | În instrucțiunea if/else la început o condiție este evaluată în instrucțiunea if. Dacă condiția este adevărată, atunci execută instrucțiunile după aceea. Se oprește înaintea condiției else și iese din buclă. Totuși, dacă condiția este falsă, atunci execută instrucțiunile din blocul de instrucțiuni else. Apoi iese din buclă. |
Instrucțiune If imbricată | Este folosit atunci când există o cerință de a avea mai multe instrucțiuni if. |
Declarație Switch | Declarația imbricată if-else poate deveni ilizibilă atunci când aveți mai multe condiții. Pentru a face codul mai lizibil, se folosește instrucțiunea switch. |
Declarație Switch imbricată | In Groovy este de asemenea posibil să se utilizeze instrucțiuni switch imbricate. |
Groovy Listă
Structura listei vă permite să stocați o colecție de articole de date. Într-o Groovy limbaj de programare, Lista deține o secvență de referințe la obiect. De asemenea, arată o poziție în secvență. Un literal Listă este prezentat ca o serie de obiecte separate prin virgule și cuprinse între paranteze drepte.
Exemplu de listă Grrovy:
O listă de șiruri de caractere - ['Angular', 'Nodejs,]
O listă de referințe la obiecte – ['Groovy', 2,4 2.6]
O listă de valori întregi – [16, 17, 18, 19]
O listă goală- [ ]
Mai jos sunt listele metodelor disponibile în Groovy:
Aplicate | Description |
---|---|
adăuga() | Vă permite să adăugați noua valoare la sfârșitul acestei liste. |
conține() | Returnează adevărat dacă această listă conține o anumită valoare. |
obține() | Returnează elementul la poziția definită |
este gol() | Returnează valoarea adevărată dacă Lista nu conține niciun element |
minus() | Această comandă vă permite să creați o nouă Listă compusă din elementele originalului, cu excepția celor care sunt specificate în colecție. |
la care se adauga() | Vă permite să creați o nouă Listă compusă din elementele originalului împreună cu cele menționate în colecție. |
pop () | Elimină ultimul element din listă |
elimina() | Îndepărtează elementul în poziția specifică |
verso() | Creați o nouă listă care inversează elementele listei originale |
mărimea() | Returnează numărul de elemente din această listă |
fel() | Returnează o copie sortată |
Luați în considerare următoarele Groovy exemplu de scenariu
def y = ["Guru99", "is", "Best", "for", "Groovy"] println y y.add("Learning") println(y.contains("is")) println(y.get(2)) println(y.pop())
ieșire:
[Guru99, is, Best, for, Groovy] true Best Learning
Groovy Harta
O hartă Groovy este o colecție de perechi valori cheie
Exemple de Groovy harti:
- [Tutorial: 'Java, Tutorial: 'Groovy] – Colecție de perechi cheie-valoare care are Tutorial ca cheie și valorile lor respective
- [ : ] Reprezentați o hartă goală
Iată o listă de metode de hărți disponibile în Groovy.
Aplicate | Description |
---|---|
containsKey() | Verificați dacă harta conține această cheie sau nu? |
obține() | Această comandă caută cheia din această hartă și returnează valoarea corespunzătoare. Dacă nu găsiți nicio intrare în această hartă, atunci va returna null. |
keySet() | Permite găsirea unui set de chei în această hartă |
a pune() | Asociază valoarea specificată cu cheia dată în această hartă. Dacă Harta conținea mai devreme o mapare pentru această cheie. Apoi, vechea valoare va fi înlocuită cu valoarea specificată. |
mărimea() | Returnează numărul de mapări cheie-valoare. |
valori () | Această comandă returnează o vedere de colecție a valorilor. |
Groovy Exemplu:
def y = [fName:'Jen', lName:'Cruise', sex:'F'] print y.get("fName")
producție
Jen
Groovy- Închideri
O închidere groovy este o bucată de cod înfășurată ca un obiect. Acționează ca metodă sau funcție.
Exemplu de închidere simplă
def myClosure = { println "My First Closure" } myClosure()
ieșire:
My First Closure
O închidere poate accepta parametri. Lista de identificare este separată prin virgulă
o săgeată (->) care marchează sfârșitul listei de parametri.
def myClosure = { a,b,c-> y = a+b+c println y } myClosure(1,2,3)
ieșire:
6
O închidere poate returna o valoare.
def myClosure = { a,b,c-> return (a+b+c) } println(myClosure(1,2,3))
ieșire:
6
Există multe închideri încorporate, cum ar fi „It”, „identitate”, etc. Închiderile pot lua alte închideri ca parametri.
Groovy Vs. Java
Groovy | Java |
---|---|
In Groovy, specificatorul de acces implicit este public. Înseamnă că o metodă fără vreun modificator de acces specificat este publică și accesibilă în afara limitelor de clasă și pachet. | In Java, modificatorul de acces implicit este un pachet, adică dacă nu specificați modificatorul de acces pentru câmpuri, metode sau clasă, acesta devine pachet privat, |
Getters și setters sunt generați automat pentru membrii clasei. | Java, trebuie să definiți metoda getters și setters pentru câmpuri |
Groovy permite înlocuirea variabilelor folosind ghilimele duble cu șiruri. | Java nu acceptă înlocuirea variabilelor. |
Informațiile de tastare sunt opționale. | Informațiile de tastare sunt obligatorii în Java. |
Groovy nu este obligatoriu să se termine cu punct și virgulă. | In Java, fiecare instrucțiune se termină cu punct și virgulă. |
Groovy este automat o clasă de împachetare numită Script pentru fiecare program | In Java, aveți nevoie de metoda principală pentru a face o clasă executabilă. |
Mituri despre Groovy
Mit | Realitate |
---|---|
Putem folosi Groovy doar pentru scripting. | Poate fi folosit pentru scripting. Cu toate acestea, puteți îndeplini multe alte sarcini în afară de aceasta. |
Groovy este totul despre închideri. „Este doar limbaj de programare funcțional. " | Groovy adoptă din limbaje de programare funcționale precum Lisp sau Closure. |
Groovy este o alegere ideală dacă vrei să faci TDD | Această afirmație este adevărată. Cu toate acestea, cu siguranță nu este singurul motiv de utilizare Groovy. |
Poți să folosești Groovy numai dacă vrei să folosești Grails. | Grails este un cadru puternic de dezvoltare web.
dar Groovy oferă mai mult decât atât. |
Contra de utilizare Groovy
- JVM și Groovy Ora de pornire a scriptului este lentă, ceea ce limitează scripturile la nivel de sistem de operare
- Groovy nu este acceptat în totalitate în alte comunități.
- Nu este convenabil de utilizat Groovy fără a utiliza IDE
- Groovy poate fi mai lent, ceea ce a mărit timpul de dezvoltare
- Groovy poate avea nevoie de multă memorie
- Cunoștințe de Java este imperativ.
Groovy Instrumente
Vom discuta despre 3 instrumente importante în acest sens Groovy tutorial de script
1. groovysh: execută codul interactiv.
2. groovyConsole: GUI pentru executarea codului interactiv
3. groovy: execută scripturi groovy. Îl poți folosi ca Perl, Python, Etc
Groovysh
- shell de linie de comandă
- Vă ajută să executați Groovy codează interactiv
- Permite introducerea de declarații sau scripturi întregi
Groovy consolă
- Interfață swing care acționează ca un minim Groovy editor de dezvoltare.
- Vă permite să interacționați Groovy cod
- Vă ajută să încărcați și să rulați Groovy fișiere script
Groovy
Procesorul este cel care execută Groovy programe și scripturi. U
Poate fi folosit pentru a testa simplu Groovy expresii.
Rezumat
- Groovy este un limbaj de programare orientat pe obiecte folosit pentru Java platformă
- Groovy scripting oferă o integrare perfectă cu toate cele existente Java obiecte și biblioteci
- Bob McWhirter și James Strachan au dezvoltat groovy în 2003
- Literele de listă, hartă, interval, expresii regulate sunt caracteristici importante ale Groovy
- Patru tipuri de operatori sprijiniți de Groovy sunt 1. Relaționale 2.Logice 3. Pe biți 4. Atribuire
- Groovy a efectuat luarea deciziilor folosind instrucțiuni if, if/else, Imbricate if, switch, Netsted switch
- Structura listei vă permite să stocați o colecție de elemente de date
- O hartă Groovy este o colecție de perechi valori cheie
- In Groovy, Getters și setters sunt generați automat pentru membrii clasei
- In Java, puteți folosi metoda de obținere și setare pentru câmpuri
- Cel mai mare mit despre Groovy este că se poate folosi numai pentru scripting care nu este corect
- De ceva timp Groovy poate fi mai lent, ceea ce a mărit timpul de dezvoltare
- Trei Groovy Instrumentele sunt: groovysh care execută cod, groovy Console care este GUI pentru executarea codului interactiv și groovy care execută scripturi