Groovy Scripttutorial for begyndere

Hvad er en Groovy Manuskript?

Apache Groovy er en objektorienteret og Java syntaks kompatibelt programmeringssprog bygget til Java platform. Dette dynamiske sprog har mange funktioner, der ligner Python, Ruby, Smalltalk og Pero. Groovy kildekoden bliver kompileret til Java Bytekode, så den kan køre på enhver platform, hvor JRE er installeret. Groovy udfører også en masse opgaver bag scenen, der gør det mere smidigt og dynamisk.

Groovy sprog kan bruges som scriptsprog til Java platform. Det er næsten som en super version af Java som tilbyder Java's virksomhedskapacitet. Det tilbyder også mange produktivitetsfunktioner som DSL-understøttelse, lukninger og dynamisk indtastning. I modsætning til nogle andre sprog er det designet som en ledsager, ikke en erstatning for Java.

Hvorfor Groovy?

Her er vigtige grunde til, hvorfor du bør bruge og lære Groovy-

  • Groovy er et smidigt og dynamisk sprog
  • Problemfri integration med alle eksisterende Java genstande og biblioteker
  • Føles nemt og naturligt at Java udviklere
  • Mere kortfattet og meningsfuld kode sammenlignet med Java
  • Du kan bruge den lige så meget eller så lidt, som du har lyst til Java apps

Groovy Historie

  • 2003: Udviklet af Bob McWhirter & James Strachan
  • 2004: Indgået i JSR 241, men den blev forladt
  • 2005: Bragt tilbage af Jeremy Rayner & Guillaume Laforge
  • 2007: Groovy udgave 1.0
  • 2012: Groovy udgave 2
  • 2014: Groovy version 2.3 (officiel support givet til JDK 8)
  • 2015: Groovy blev et projekt hos Apache Software Foundation

Funktioner af Groovy

  • Liste, kort, rækkevidde, bogstaver i regulære udtryk
  • Multimetode og metaprogrammering
  • Groovy klasser og scripts gemmes normalt i .groovy-filer
  • Scripts indeholder Groovy erklæringer uden nogen klasseerklæring.
  • Scripts kan også indeholde metodedefinitioner uden for klassedefinitioner.
  • Det kan kompileres og fuldt integreres med traditionelle Java ansøgning.
  • Understøttelse af sprogniveau til kort, lister, regulære udtryk
  • Understøtter lukninger, dynamisk indtastning, metaobjektprotokol
  • Understøttelse af statisk og dynamisk skrivning og operatøroverbelastning
  • Ordret erklæring for lister (arrays), kort, områder og regulære udtryk

Sådan installeres Groovy

Trin 1) Sørg for, at du har Java installeret.

Trin 2) Gå til http://groovy-lang.org/download.html og klik på installer.

installere Groovy

Bemærk: Du kan også installere Groovy ved hjælp af zip-filen eller som en Eclipse IDE. I denne Groovy tutorial, vil vi holde os til Windows Installer

Trin 3) Start det downloadede installationsprogram. Vælg sprog, og klik på OK

installere Groovy

Trin 4) Lancering. Klik på NÆSTE på velkomstskærmen

installere Groovy

Trin 5) Accepter licensbetingelserne

installere Groovy

Trin 6) Vælg de komponenter, du vil installere, og klik på NÆSTE

installere Groovy

Trin 7) Vælg Installation Directory, og klik på NÆSTE

installere Groovy

Trin 8) Vælg Start Menu Mappe, og klik på NÆSTE

installere Groovy

Trin 9) Når installationen er færdig, lad stierne standard og klik på NÆSTE

installere Groovy

Trin 10) Klik på NÆSTE

installere Groovy

Trin 11) I startmenuen søg efter Groovy Konsol

installere Groovy

Groovy Hej verdenseksempel

Overvej, at vi vil udskrive en simpel streng "Hello World" i Java. Koden til at opnå strengen Groovy hej verden ville være

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

Ovenstående kode er gyldig i begge Java og Groovy as Groovy er et supersæt af Java. Men fordelen med Groovy er, at vi kan gøre os op med klasseoprettelse, offentlig metodeoprettelse osv. og opnå det samme output med en enkelt linjekode som følger:

println "Hello World."

Der er ikke behov for semikolon

Der er ikke behov for parenteser

System.out.println reduceres til println

Groovy Variabler

In Java, statisk binding er obligatorisk. Det betyder, at typen af ​​en variabel skal deklareres på forhånd.

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

I ovenstående eksempel på dette Groovy tutorial, type variabel (heltal) erklæres på forhånd ved hjælp af nøgleordet "int". Hvis du skulle angive et flydende decimaltal, bruger du nøgleordet flydende.

Hvis du forsøger at tildele en strengværdi til en int (frakommenteringslinje #5), får du følgende fejl

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

I modsætning, Groovy understøtter dynamisk typning. Variabler defineres ved hjælp af nøgleordet "def", og typen af ​​en variabel behøver ikke at blive erklæret på forhånd. Compileren finder ud af variabeltypen under kørsel, og du kan endda variabeltypen.

Overvej følgende groovy eksempel,

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

Output:

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

In Groovy, kan du oprette flerlinjede strenge. Bare sørg for, at du omslutter strengen i tredobbelte anførselstegn.

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

Output:

Groovy
at
Guru99

Bemærk: Du kan stadig variable typer som byte, kort, int, lang osv. med Groovy. Men du kan ikke ændre variabeltypen dynamisk, som du eksplicit har erklæret den.

Overvej følgende kode:

int x = 104
println x
x = "Guru99"

Det giver følgende fejl

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

En operator er et symbol, der fortæller compileren at udføre visse matematiske eller logiske manipulationer.

Groovy har følgende fem typer operatører –

  • Aritmetiske operatorer: Add (+), Subtrahere (-), Multiplikation (*), Division(/)
  • Relationelle operatorer: lig med (==), Ikke lig med (!=), Less end (<) Less end eller lig med (<=), Større end (>), Større end eller lig med (>=)
  • Logiske operatorer: Og (&&), Eller(||), Ikke(!)
  • Bitvise operatorer: And(&), Or(|), (^), Xor eller Exclusive-or operator
  • Tildelingsoperatorer: Negationsoperator (~)

Groovy- Sløjfer

In Java, ville du definere en løkke som følger

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

Output:

0
1
2
3
4

Du kan opnå det samme output i Groovy bruger op til søgeord

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

Du får samme output som ovenfor. $it er en lukning, der giver værdien af ​​den aktuelle sløjfe.

Overvej følgende kode

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

Det giver et output

2
3
4

Du kan også bruge nøgleordet "tider" for at få det samme output

5.times{println "$it"}

Overvej, du vil udskrive 0,2,4 med for sløjfe ind Java

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

Output:

0
2
4

Du kan bruge trinmetoden til det samme

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

Groovy- Beslutningstagning

Erklæringer Bedrag
hvis Erklæring Som i Java, hvis-sætningen udføres, hvis betingelsen er sand.
if/else-erklæring I if/else-sætningen evalueres først en betingelse i if-sætningen. Hvis betingelsen er sand, udføres sætningerne derefter. Den stopper før den anden tilstand og går ud af løkken. Men hvis betingelsen er falsk, udføres sætningerne i else-sætningsblokken. Så forlader den løkken.
Indlejret hvis-erklæring Det bruges, når der er et krav om at have flere if-sætninger.
Skift erklæring Den indlejrede if-else-sætning kan blive ulæselig, når du har flere betingelser. For at gøre koden mere læsbar bruges switch statement.
Indlejret switch-erklæring In Groovy er det også muligt at bruge indlejrede switch-sætninger.

Groovy Liste

Listestruktur giver dig mulighed for at gemme en samling af dataelementer. I en Groovy programmeringssprog, indeholder listen en sekvens af objektreferencer. Den viser også en position i sekvensen. En listeliteral præsenteres som en række objekter adskilt af kommaer og omgivet af firkantede parenteser.

Eksempel på Grrovy liste:

En liste over strenge- ['Angular', 'Nodejs,]

En liste over objektreferencer – ['Groovy', 2,4 2.6]

En liste over heltalsværdier – [16, 17, 18, 19]

En tom liste- [ ]

Følgende er listemetoder, der er tilgængelige i Groovy:

Metoder Produktbeskrivelse
tilføje() Giver dig mulighed for at tilføje den nye værdi til slutningen af ​​denne liste.
indeholder() Returnerer sand, hvis denne liste indeholder en bestemt værdi.
få() Returnerer elementet på den bestemte position
er tom() Returnerer sand værdi, hvis Listen ikke indeholder nogen elementer
minus() Denne kommando giver dig mulighed for at oprette en ny liste, der er sammensat af elementerne fra originalen undtagen dem, der er specificeret i samlingen.
plus() Giver dig mulighed for at oprette en ny liste sammensat af elementerne fra originalen sammen med nævnt i samlingen.
pop () Fjerner det sidste element fra listen
fjerne() Fjerner elementet på den specifikke position
baglæns() Opret en ny liste, som vender elementerne fra den oprindelige liste
størrelse() Returnerer antallet af elementer i denne liste
sortere() Returnerer en sorteret kopi

Overvej følgende Groovy script eksempel

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

Output:

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

Groovy Maps

Et kort Groovy er en samling af nøgleværdipar

Eksempler på Groovy kort:

  • [Tutorial: 'Java, Tutorial: 'Groovy] – Samling af nøgle-værdi-par, som har Tutorial som nøgle og deres respektive værdier
  • [ : ] Repræsenter et tomt kort

Her er en liste over tilgængelige kortmetoder i Groovy.

Metoder Produktbeskrivelse
indeholder nøgle() Tjek, at kortet indeholder denne nøgle eller ej?
få() Denne kommando slår nøglen op i dette kort og returnerer den tilsvarende værdi. Hvis du ikke finder nogen post på dette kort, vil det returnere null.
keySet () Gør det muligt at finde et sæt nøgler på dette kort
sætte() Knytter den angivne værdi til den givne nøgle i dette kort. Hvis kortet tidligere indeholdt en tilknytning til denne nøgle. Så vil den gamle værdi blive erstattet af den angivne værdi.
størrelse() Returnerer antallet af nøgleværdi-tilknytninger.
værdier () Denne kommando returnerer en samlingsvisning af værdierne.

Groovy Eksempel:

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

Produktion

Jen

Groovy- Lukninger

En groovy lukning er et stykke kode pakket ind som et objekt. Det fungerer som en metode eller en funktion.

Eksempel på simpel lukning

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

Output:

My First Closure

En lukning kan acceptere parametre. Listen over identificerer er komma adskilt med

en pil (->), der markerer slutningen af ​​parameterlisten.

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

Output:

6

En lukning kan returnere en værdi.

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

Output:

6

Der er mange indbyggede lukninger som "It", "identitet" osv. Lukninger kan tage andre lukninger som parametre.

Groovy Vs. Java

Groovy Java
In Groovy, standardadgangsspecifikationen er offentlig. Det betyder, at en metode uden nogen specificeret adgangsmodifikator er offentlig og tilgængelig uden for klasse- og pakkegrænser. In Java, er standardadgangsmodifikatoren en pakke, dvs. hvis du ikke angiver adgangsmodifikator for felter, metoder eller klasse, bliver den pakkeprivat,
Getters og sættere genereres automatisk for klassemedlemmer. Java, skal du definere getters og seters metode for felter
Groovy tillader variabel substitution ved hjælp af dobbelte anførselstegn med strenge. Java understøtter ikke variabel substitution.
Indtastning af oplysninger er valgfrit. Indtastning af oplysninger er obligatorisk i Java.
Groovy det er ikke nødvendigt at slutte med semikolon. In Java, hver sætning ender med et semikolon.
Groovy er automatisk en indpakningsklasse kaldet Script for hvert program In Java, skal du bruge hovedmetoden for at gøre en klasse eksekverbar.

Myter om Groovy

Myte Reality
Vi kan bruge Groovy kun til scripting. Det kan bruges til scripting. Du kan dog udføre mange andre opgaver udover det.
Groovy handler om lukninger. "Det er bare funktionelt programmeringssprog". Groovy adopterer fra funktionelle programmeringssprog som Lisp eller Closure.
Groovy er et ideelt valg, hvis du vil lave TDD Dette udsagn er sandt. Det er dog bestemt ikke den eneste grund til at bruge Groovy.
Du kan bruge Groovy kun hvis du vil bruge Grails. Grails er en kraftfuld webudviklingsramme.

Men Groovy tilbyder mere end det.

Ulemper ved at bruge Groovy

  • JVM og Groovy script-starttiden er langsom, hvilket begrænser scripting på OS-niveau
  • Groovy er ikke helt accepteret i andre fællesskaber.
  • Det er ikke praktisk at bruge Groovy uden at bruge IDE
  • Groovy kan være langsommere, hvilket øgede udviklingstiden
  • Groovy kan have brug for meget hukommelse
  • Kendskab til Java er bydende nødvendigt.

Groovy Værktøjer

Vi vil diskutere 3 vigtige værktøjer i dette Groovy script tutorial

1. groovysh: Udfører kode interaktivt.

2. groovyConsole: GUI til interaktiv kodeudførelse

3. groovy: Udfører groovy scripts. Du kan bruge det ligesom Perl, PythonOsv

Groovysh

  • kommandolinje shell
  • Hjælper dig med at udføre Groovy kode interaktivt
  • Tillader indtastning af udsagn eller hele scripts

Groovy Værktøjer

Groovy konsol

  • Swing interface, der fungerer som en minimal Groovy udviklingsredaktør.
  • Giver dig mulighed for at interagere Groovy kode
  • Hjælper dig med at indlæse og køre Groovy script filer

Groovy Værktøjer

Groovy

Det er processoren, der udfører Groovy programmer og scripts. U

Det kan bruges til at teste enkelt Groovy udtryk.

Groovy Værktøjer

Resumé

  • Groovy er et objektorienteret programmeringssprog, der bruges til Java perron
  • Groovy scripting tilbyder problemfri integration med alle eksisterende Java genstande og biblioteker
  • Bob McWhirter & James Strachan udviklede groovy i 2003
  • Liste, kort, rækkevidde, bogstaver i regulære udtryk er vigtige træk ved Groovy
  • Fire typer operatører understøtter ved Groovy er 1. Relationelle 2.Logiske 3. Bitvise 4. Tildeling
  • Groovy udført beslutningstagning ved hjælp af if, if/else, Nested if, switch, Netsted switch statements
  • Listestruktur giver dig mulighed for at gemme en samling af dataelementer
  • Et kort Groovy er en samling af nøgleværdipar
  • In Groovy, Getters og settere genereres automatisk for klassemedlemmer
  • In Java, kan du bruge metoden give getters og setters til felter
  • Den største myte om Groovy er, at den kun kan bruges til scripting, som ikke er korrekt
  • Nogen tid Groovy kan være langsommere, hvilket øgede udviklingstiden
  • Tre Groovy Værktøjer er: groovysh som eksekverer kode, groovy Console som er GUI til interaktiv kodeudførelse og groovy som eksekverer scripts