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.

instala Groovy

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

instala Groovy

Pas 4) Lansa. În ecranul de întâmpinare, faceți clic pe NEXT

instala Groovy

Pas 5) De acord cu termenii licenței

instala Groovy

Pas 6) Selectați componentele pe care doriți să le instalați și faceți clic pe NEXT

instala Groovy

Pas 7) Selectați Directory de instalare și faceți clic pe NEXT

instala Groovy

Pas 8) Alegeți folderul meniului Start și faceți clic pe NEXT

instala Groovy

Pas 9) Odată ce instalarea este finalizată, lăsați căile implicite și faceți clic pe NEXT

instala Groovy

Pas 10) Faceți clic pe NEXT

instala Groovy

Pas 11) În meniul de pornire, căutați Groovy Consoleze

instala Groovy

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 Instrumente

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 Instrumente

Groovy

Procesorul este cel care execută Groovy programe și scripturi. U

Poate fi folosit pentru a testa simplu Groovy expresii.

Groovy Instrumente

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