Groovy Handledning för skript för nybörjare

Vad är en Groovy Manus?

Apache Groovy är en objektorienterad och Java syntaxkompatibelt programmeringsspråk byggt för Java plattform. Detta dynamiska språk har många funktioner som liknar Python, Ruby, Smalltalk och Pero. Groovy källkoden kompileras till Java Bytecode så att den kan köras på vilken plattform som helst som har JRE installerat. Groovy utför också en hel del uppgifter bakom scenen som gör den mer smidig och dynamisk.

Groovy språk kan användas som ett skriptspråk för Java plattform. Det är nästan som en superversion av Java som erbjuder Javaföretagskapacitet. Den erbjuder också många produktivitetsfunktioner som DSL-stöd, stängningar och dynamisk typning. Till skillnad från vissa andra språk är den designad som en följeslagare, inte en ersättning för Java.

Varför Groovy?

Här är viktiga skäl till varför du bör använda och lära dig Groovy-

  • Groovy är ett smidigt och dynamiskt språk
  • Sömlös integration med alla befintliga Java föremål och bibliotek
  • Känns lätt och naturligt att Java utvecklare
  • Mer kortfattad och meningsfull kod jämfört med Java
  • Du kan använda den hur mycket eller lite du vill med Java appar

Groovy historik

  • 2003: Utvecklad av Bob McWhirter & James Strachan
  • 2004: Driftsattes i JSR 241 men övergavs
  • 2005: Kom tillbaka av Jeremy Rayner & Guillaume Laforge
  • 2007: Groovy version 1.0
  • 2012: Groovy version 2
  • 2014: Groovy version 2.3 (officiellt stöd ges för JDK 8)
  • 2015: Groovy blev ett projekt på Apache Software Foundation

Dragen av Groovy

  • Lista, karta, räckvidd, regelbundna uttryck
  • Multimetod och metaprogrammering
  • Groovy klasser och skript lagras vanligtvis i .groovy-filer
  • Skript innehåller Groovy uttalanden utan klassdeklaration.
  • Skript kan också innehålla metoddefinitioner utanför klassdefinitioner.
  • Den kan kompileras och helt integreras med traditionella Java ansökan.
  • Stöd på språknivå för kartor, listor, reguljära uttryck
  • Stöder stängningar, dynamisk typning, metaobjektprotokoll
  • Stöd för statisk och dynamisk skrivning och operatörsöverbelastning
  • Bokstavlig deklaration för listor (matriser), kartor, intervall och reguljära uttryck

Hur man installerar Groovy

Steg 1) Se till att du har Java installerad.

Steg 2) Gå till http://groovy-lang.org/download.html och klicka på Installer.

installera Groovy

Obs: Du kan också installera Groovy med hjälp av zip-filen eller som en Eclipse IDE. I detta Groovy handledning kommer vi att hålla oss till Windows Installer

Steg 3) Starta det nedladdade installationsprogrammet. Välj språk och klicka på OK

installera Groovy

Steg 4) Lansera. Klicka på NÄSTA på välkomstskärmen

installera Groovy

Steg 5) Håller med om licensvillkoren

installera Groovy

Steg 6) Välj komponenter du vill installera och klicka på NÄSTA

installera Groovy

Steg 7) Välj Installationskatalog och klicka på NÄSTA

installera Groovy

Steg 8) Välj Startmenymapp och klicka på NÄSTA

installera Groovy

Steg 9) När installationen är klar, låt sökvägarna standard och klicka på NÄSTA

installera Groovy

Steg 10) Klicka på NÄSTA

installera Groovy

Steg 11) Sök efter i startmenyn Groovy Konsol

installera Groovy

Groovy Hej världsexempel

Tänk att vi vill skriva ut en enkel sträng "Hello World" i Java. Koden för att uppnå strängen Groovy hej världen skulle vara

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

Ovanstående kod är giltig i båda Java och Groovy as Groovy är en superset av Java. Men fördelen med Groovy är att vi kan göra oss av med klassskapande, skapande av offentliga metoder, etc och uppnå samma utdata med en enkelradskod enligt följande:

println "Hello World."

Det finns inget behov av semikolon

Det finns inget behov av parentes

System.out.println reduceras till println

Groovy variabler

In Java, statisk bindning är obligatorisk. Det betyder att typen av en variabel måste deklareras i förväg.

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

I ovanstående exempel på detta Groovy handledning, typ av variabel (heltal) deklareras i förväg med hjälp av nyckelordet "int". Om du skulle deklarera ett flyttalnummer använder du nyckelordet flytande.

Om du försöker tilldela ett strängvärde till en int (avkommentarrad #5) får du följande fel

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

I kontrast, Groovy stöder dynamisk typning. Variabler definieras med nyckelordet "def", och typen av en variabel behöver inte deklareras i förväg. Kompilatorn räknar ut variabeltypen vid körning och du kan till och med variabeltypen.

Tänk på följande groovy exempel,

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

Produktion:

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

In Groovy, kan du skapa flerradiga strängar. Se bara till att du anger strängen med tre citattecken.

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

Produktion:

Groovy
at
Guru99

Anmärkningar: Du kan fortfarande variabla typer som byte, kort, int, lång, etc med Groovy. Men du kan inte ändra variabeltypen dynamiskt eftersom du uttryckligen har deklarerat den.

Tänk på följande kod:

int x = 104
println x
x = "Guru99"

Det ger följande fel

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 är en symbol som talar om för kompilatorn att göra vissa matematiska eller logiska manipulationer.

Groovy har följande fem typer av operatörer –

  • Aritmetiska operatorer: Addera (+), Subtrahera (-), Multiplikation (*), Division(/)
  • Relationsoperatorer: lika med (==), inte lika med (!=), Less än (<) Less än eller lika med (<=), Större än (>), Större än eller lika med (>=)
  • Logiska operatorer: Och (&&), Eller(||), Inte(!)
  • Bitvisa operatorer: And(&), Or(|), (^), Xor eller Exclusive-or operator
  • Tilldelningsoperatorer: Negationsoperator (~)

Groovy- Slingor

In Java, skulle du definiera en loop enligt följande

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

Produktion:

0
1
2
3
4

Du kan uppnå samma utgång i Groovy använder upp till nyckelord

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

Du får samma utdata som ovan. $it är en stängning som ger värdet av den aktuella slingan.

Tänk på följande kod

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

Det ger en utgång

2
3
4

Du kan också använda nyckelordet "tider" för att få samma resultat

5.times{println "$it"}

Tänk på att du vill skriva ut 0,2,4 med för loop in Java

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

Produktion:

0
2
4

Du kan använda stegmetoden för detsamma

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

Groovy- Beslutsfattande

Uttalanden Bedrägeri
om uttalande Som i Java, if-satsen körs om villkoret är sant.
om/annat uttalande I if/else-satsen utvärderas först ett villkor i if-satsen. Om villkoret är sant körs satserna efter det. Den stannar före det andra tillståndet och lämnar slingan. Om villkoret är falskt körs dock satserna i else-satsblocket. Sedan lämnar den slingan.
Kapslad If-utlåtande Det används när det finns ett krav på att ha flera if-satser.
Byt uttalande Den kapslade if-else-satsen kan bli oläslig när du har flera villkor. För att göra koden mer läsbar används switch statement.
Uttalande av kapslad switch In Groovy är också möjligt att använda kapslade switch-satser.

Groovy Lista

Liststruktur låter dig lagra en samling dataobjekt. I en Groovy programmeringsspråk, innehåller listan en sekvens av objektreferenser. Den visar också en position i sekvensen. En lista bokstavlig presenteras som en serie objekt separerade med kommatecken och omgivna av hakparenteser.

Exempel på Grrovy-lista:

En lista över strängar- ['Angular', 'Nodejs,]

En lista med objektreferenser – ['Groovy', 2,4 2.6]

En lista med heltalsvärden – [16, 17, 18, 19]

En tom lista- [ ]

Följande listmetoder är tillgängliga i Groovy:

Metoder Description
Lägg till() Låter dig lägga till det nya värdet i slutet av denna lista.
innehåller() Returnerar sant om denna lista innehåller ett visst värde.
skaffa sig() Returnerar elementet vid den bestämda positionen
är tom() Returnerar sant värde om Lista inte innehåller några element
minus() Detta kommando låter dig skapa en ny lista som består av elementen i originalet, exklusive de som är specificerade i samlingen.
plus() Låter dig skapa en ny lista som består av elementen i originalet tillsammans med de som nämns i samlingen.
pop() Tar bort det sista objektet från listan
avlägsna() Tar bort elementet vid den specifika positionen
omvänd() Skapa en ny lista som vänder på elementen i den ursprungliga listan
storlek() Returnerar antalet element i denna lista
sortera() Returnerar en sorterad kopia

Tänk på följande Groovy manusexempel

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

Produktion:

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

Groovy kartor

En karta Groovy är en samling nyckelvärdepar

Exempel på Groovy kartor:

  • [Handledning: 'Java, Handledning: 'Groovy] – Samling av nyckel-värde-par som har Tutorial som nyckel och deras respektive värden
  • [ : ] Representerar en tom karta

Här är en lista över kartmetoder tillgängliga i Groovy.

Metoder Description
containsKey() Kontrollera att kartan innehåller denna nyckel eller inte?
skaffa sig() Detta kommando slår upp nyckeln i denna karta och returnerar motsvarande värde. Om du inte hittar någon post i denna karta kommer den att returnera null.
keySet () Gör det möjligt att hitta en uppsättning nycklar i denna karta
sätta() Associerar det angivna värdet med den givna nyckeln i denna karta. Om kartan tidigare innehöll en mappning för denna nyckel. Då kommer det gamla värdet att ersättas med det angivna värdet.
storlek() Returnerar antalet nyckel-värde-mappningar.
värden () Detta kommando returnerar en samlingsvy av värdena.

Groovy Exempelvis:

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

Produktion

Jen

Groovy- Stängningar

En groovy stängning är en kod som är inslagen som ett objekt. Det fungerar som en metod eller en funktion.

Exempel på enkel stängning

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

Produktion:

My First Closure

En stängning kan acceptera parametrar. Listan över identifierar är kommaseparerad med

en pil (->) som markerar slutet av parameterlistan.

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

Produktion:

6

En stängning kan returnera ett värde.

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

Produktion:

6

Det finns många inbyggda stängningar som "It", "identitet" etc. Stängningar kan ta andra stängningar som parametrar.

Groovy Vs. Java

Groovy Java
In Groovy, standardåtkomstspecifikationen är offentlig. Det betyder att en metod utan någon specificerad åtkomstmodifierare är offentlig och tillgänglig utanför klass- och paketgränserna. In Java, är standardåtkomstmodifieraren ett paket, dvs om du inte anger åtkomstmodifierare för fält, metoder eller klass blir det paketprivat,
Getters och seters genereras automatiskt för klassmedlemmar. Java, måste du definiera getters och setters metod för fält
Groovy tillåter variabelsubstitution med dubbla citattecken med strängar. Java stöder inte variabelsubstitution.
Att skriva information är valfritt. Att skriva information är obligatoriskt i Java.
Groovy det är inte nödvändigt att sluta med semikolon. In Java, varje påstående slutar med semikolon.
Groovy är automatiskt en inpackningsklass som heter Script för varje program In Java, behöver du huvudmetoden för att göra en klass körbar.

Myter om Groovy

Myt Verkligheten
Vi kan använda Groovy bara för manus. Det kan användas för skript. Men du kan utföra många andra uppgifter förutom det.
Groovy handlar om nedläggningar. "Det är bara funktionellt programmeringsspråk. " Groovy använder sig av funktionella programmeringsspråk som Lisp eller Closure.
Groovy är ett idealiskt val om du vill göra TDD Detta påstående är sant. Men det är verkligen inte den enda anledningen att använda Groovy.
Du kan använda Groovy endast om du vill använda Grails. Grails är ett kraftfullt ramverk för webbutveckling.

Men Groovy erbjuder mer än så.

Nackdelar med att använda Groovy

  • JVM och Groovy skriptets starttid är långsam vilket begränsar skript på OS-nivå
  • Groovy är inte helt accepterat i andra samhällen.
  • Det är inte bekvämt att använda Groovy utan att använda IDE
  • Groovy kan vara långsammare vilket ökade utvecklingstiden
  • Groovy kan behöva mycket minne
  • Kunskap av Java är absolut nödvändigt.

Groovy verktyg

Vi kommer att diskutera 3 viktiga verktyg i detta Groovy script handledning

1. groovysh: Exekverar kod interaktivt.

2. groovyConsole: GUI för interaktiv kodexekvering

3. groovy: Utför groovy skript. Du kan använda den som Perl, PythonEtc.

Groovysh

  • kommandoradsskal
  • Hjälper dig att utföra Groovy kod interaktivt
  • Tillåter inmatning av uttalanden eller hela skript

Groovy verktyg

Groovy trösta

  • Svänggränssnitt som fungerar som ett minimalt Groovy utvecklingsredaktör.
  • Låter dig interagera Groovy koda
  • Hjälper dig att ladda och springa Groovy skriptfiler

Groovy verktyg

Groovy

Det är processorn som kör Groovy program och skript. U

Det kan användas för att testa enkelt Groovy uttryck.

Groovy verktyg

Sammanfattning

  • Groovy är ett objektorienterat programmeringsspråk som används för Java plattform
  • Groovy scripting erbjuder sömlös integration med alla befintliga Java föremål och bibliotek
  • Bob McWhirter & James Strachan utvecklade groovy 2003
  • Lista, karta, räckvidd, reguljära uttrycksliteraler är viktiga egenskaper hos Groovy
  • Fyra typer av operatörer stöder av Groovy är 1. Relationell 2.Logisk 3. Bitvis 4. Tilldelning
  • Groovy utfört beslutsfattande med hjälp av if, if/else, Nested if, switch, Netsted switch-satser
  • Liststruktur låter dig lagra en samling av dataobjekt
  • En karta Groovy är en samling nyckelvärdepar
  • In Groovy, Getters och seters genereras automatiskt för klassmedlemmar
  • In Java, kan du använda metoden tillhandahålla getters och setters för fält
  • Den största myten om Groovy är att det bara kan användas för skript som inte är korrekt
  • Någon gång Groovy kan vara långsammare vilket ökade utvecklingstiden
  • Tre Groovy Verktygen är: groovysh som exekverar kod, groovy Console som är GUI för interaktiv kodexekvering och groovy som exekverar skript