Groovy Script Tutorial für Anfänger

Was ist ein Groovy-Skript?

Apache Groovy ist eine objektorientierte und mit der Java-Syntax kompatible Programmiersprache, die für die Java-Plattform entwickelt wurde. Diese dynamische Sprache verfügt über viele Funktionen, die Python, Ruby, Smalltalk und Pero ähneln. Groovy-Quellcode wird in Java-Bytecode kompiliert, sodass er auf jeder Plattform ausgeführt werden kann, auf der JRE installiert ist. Groovy übernimmt auch viele Aufgaben hinter den Kulissen, was es agiler und dynamischer macht.

Die Groovy-Sprache kann als Skriptsprache für die Java-Plattform verwendet werden. Es ist fast wie eine Superversion von Java, die die Enterprise-Funktionen von Java bietet. Es bietet außerdem viele Produktivitätsfunktionen wie DSL-Unterstützung, Schließungen und dynamische Eingabe. Im Gegensatz zu einigen anderen Sprachen ist es als Begleiter und nicht als Ersatz für Java konzipiert.

Warum Groovy?

Hier sind die wichtigsten Gründe, warum Sie Groovy verwenden und erlernen sollten:

  • Groovy ist eine agile und dynamische Sprache
  • Nahtlose Integration mit allen vorhandenen Java-Objekten und -Bibliotheken
  • Fühlt sich für Java-Entwickler einfach und natürlich an
  • Prägnantere und aussagekräftigere Codekompositionares nach Java
  • Sie können es mit Java-Apps so oft oder so wenig verwenden, wie Sie möchten

Groovige Geschichte

  • 2003: Entwickelt von Bob McWhirter & James Strachan
  • 2004: In Dienst gestellt in JSR 241, aber es wurde aufgegeben
  • 2005: Zurückgebracht von Jeremy Rayner und Guillaume Laforge
  • 2007: Groovy-Version 1.0
  • 2012: Groovy-Version 2
  • 2014: Groovy Version 2.3 (offizielle Unterstützung für JDK 8)
  • 2015: Groovy wurde ein Projekt bei Apache Software Foundation

Funktionen von Groovy

  • Listen-, Karten-, Bereichs- und reguläre Ausdrucksliterale
  • Multimethoden und Metaprogrammierung
  • Groovy-Klassen und -Skripte werden normalerweise in .groovy-Dateien gespeichert
  • Skripte enthalten Groovy-Anweisungen ohne Klassendeklaration.
  • Skripte können auch Methodendefinitionen außerhalb von Klassendefinitionen enthalten.
  • Es kann mit herkömmlichen Java-Anwendungen kompiliert und vollständig integriert werden.
  • Unterstützung auf Sprachebene für Karten, Listen und reguläre Ausdrücke
  • Unterstützt Schließungen, dynamische Typisierung und Metaobjektprotokoll
  • Unterstützung für statisches und dynamisches Tippen & operaTorüberlastung
  • Literale Deklaration für Listen (Arrays), Karten, Bereiche und reguläre Ausdrücke

So installieren Sie Groovy

Schritt 1) Stellen Sie sicher, dass Sie haben Java installiert.

Schritt 2) Gehen Sie zu http://groovy-lang.org/download.html und klicken Sie auf „Installer“.

Installieren Sie Groovy

Hinweis: Sie können Groovy auch über die Zip-Datei oder als installieren Eclipse IDE. In diesem Groovy-Tutorial bleiben wir dabei Windows Installer

Schritt 3) Starten Sie das heruntergeladene Installationsprogramm. Wählen Sie die Sprache aus und klicken Sie auf OK

Installieren Sie Groovy

Schritt 4) Start. Klicken Sie im Begrüßungsbildschirm auf WEITER

Installieren Sie Groovy

Schritt 5) Stimmen Sie den Lizenzbedingungen zu

Installieren Sie Groovy

Schritt 6) Wählen Sie die Komponenten aus, die Sie installieren möchten, und klicken Sie auf WEITER

Installieren Sie Groovy

Schritt 7) Wählen Sie Installationsverzeichnis und klicken Sie auf WEITER

Installieren Sie Groovy

Schritt 8) Wählen Sie den Startmenüordner und klicken Sie auf WEITER

Installieren Sie Groovy

Schritt 9) Sobald die Installation abgeschlossen ist, übernehmen Sie die Standardpfade und klicken Sie auf WEITER

Installieren Sie Groovy

Schritt 10) Weiter klicken

Installieren Sie Groovy

Schritt 11) Suchen Sie im Startmenü nach Groovy Console

Installieren Sie Groovy

Grooviges Hello World-Beispiel

Stellen Sie sich vor, wir möchten in Java eine einfache Zeichenfolge „Hello World“ drucken. Der Code zum Erreichen der Zeichenfolge Groovy hello world wäre

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

Der obige Code ist sowohl in Java als auch in Groovy gültig, da Groovy eine Obermenge von Java ist. Der Vorteil von Groovy besteht jedoch darin, dass wir auf die Klassenerstellung, die Erstellung öffentlicher Methoden usw. verzichten können und mit einem einzeiligen Code die gleiche Ausgabe wie folgt erzielen können:

println "Hello World."

Es sind keine Semikolons erforderlich

Es ist keine Klammer erforderlich

System.out.println wird auf println reduziert

Groovige Variablen

In Java ist die statische Bindung obligatorisch. Das heißt, der Typ einer Variablen muss im Voraus deklariert werden.

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

Im obigen Beispiel dieses Groovy-Tutorials wird der Variablentyp (Ganzzahl) im Voraus mit dem Schlüsselwort „int“ deklariert. Wenn Sie eine Gleitkommazahl deklarieren möchten, verwenden Sie das Schlüsselwort float.

Wenn Sie versuchen, einem int einen String-Wert zuzuweisen (Zeile Nr. 5 auskommentieren), erhalten Sie Folgendeswing Fehler

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

Im Gegensatz dazu unterstützt Groovy Dynamic Typing. Variablen werden mit dem Schlüsselwort „def“ definiert und der Typ einer Variablen muss nicht im Voraus deklariert werden. Der Compiler ermittelt zur Laufzeit den Variablentyp und Sie können sogar den Variablentyp ermitteln.

Betrachten Sie Folgendeswing grooviges Beispiel,

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

Ausgang:

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

In Groovy können Sie mehrzeilige Zeichenfolgen erstellen. Stellen Sie einfach sicher, dass Sie die Zeichenfolge in dreifache Anführungszeichen setzen.

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

Ausgang:

Groovy
at
Guru99

Note: Sie können mit Groovy weiterhin Variablentypen wie Byte, Short, Int, Long usw. verwenden. Sie können den Variablentyp jedoch nicht dynamisch ändern, da Sie ihn explizit deklariert haben.

Betrachten Sie Folgendeswing Code:

int x = 104
println x
x = "Guru99"

Es gibt folgendeswing Fehler

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

Groovig-Operatoren

An operator ist ein Symbol, das den Compiler anweist, bestimmte mathematische oder logische Manipulationen durchzuführen.

Groovy hat folgendeswing fünf Arten von operaToren –

  • Arithmetik operaToren: Addieren (+), Subtrahieren (-), Multiplikation (*), Division(/)
  • Relational operator: gleich (==), ungleich (!=), kleiner als (<) kleiner oder gleich (<=), größer als (>), größer als oder gleich (>=)
  • logisch operators: Und (&&), Oder(||), Nicht(!)
  • Bitwise operaToren: And(&), Or(|), (^), Xor oder Exclusive-or operaDo.
  • Zuordnung operaToren: Verneinung operator (~)

Groovy-Loops

In Java würden Sie eine Schleife wie folgt definieren

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

Ausgang:

0
1
2
3
4

Mit bis zu Schlüsselwörtern können Sie in Groovy die gleiche Ausgabe erzielen

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

Sie erhalten die gleiche Ausgabe wie oben. $it ist ein Abschluss, der den Wert der aktuellen Schleife angibt.

Betrachten Sie Folgendeswing Code

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

Es gibt eine Ausgabe

2
3
4

Sie können auch das Schlüsselwort „times“ verwenden, um die gleiche Ausgabe zu erhalten

5.times{println "$it"}

Bedenken Sie, dass Sie 0,2,4 mit drucken möchten for-Schleife in Java

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

Ausgang:

0
2
4

Sie können dafür die Schrittmethode verwenden

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

Groovy – Entscheidungsfindung

Statements Täuschung
if-Anweisung Wie in Java wird die if-Anweisung ausgeführt, wenn die Bedingung wahr ist.
if/else-Anweisung Bei der if/else-Anweisung wird zunächst eine Bedingung in der if-Anweisung ausgewertet. Wenn die Bedingung wahr ist, werden die Anweisungen danach ausgeführt. Es stoppt vor der else-Bedingung und verlässt die Schleife. Wenn die Bedingung jedoch falsch ist, werden die Anweisungen im else-Anweisungsblock ausgeführt. Dann verlässt es die Schleife.
Verschachtelte If-Anweisung Es wird verwendet, wenn mehrere if-Anweisungen erforderlich sind.
Switch-Anweisung Die verschachtelte if-else-Anweisung könnte zu un werdenreadable wenn Sie mehrere Erkrankungen haben. Um Code mehr zu machen readable switch-Anweisung verwendet wird.
Verschachtelte Switch-Anweisung In Groovy ist es auch möglich, verschachtelte Switch-Anweisungen zu verwenden.

Groovige Liste

Mit der Listenstruktur können Sie eine Sammlung von Datenelementen speichern. In einer Groovy-Programmiersprache enthält die Liste eine Folge von Objektreferenzen. Es zeigt auch eine Position in der Sequenz an. Ein Listenliteral wird als eine Reihe von Objekten dargestellt, die durch Kommas getrennt und in ein Quadrat eingeschlossen sind brackets.

Beispiel einer Grrovy-Liste:

Eine Liste von Strings – ['Angular', 'Nodejs,]

Eine Liste von Objektreferenzen – ['Groovy', 2,4 2.6]

Eine Liste ganzzahliger Werte – [16, 17, 18, 19]

Eine leere Liste- [ ]

Following sind in Groovy verfügbare Listenmethoden:

Methoden Beschreibung
hinzufügen() Ermöglicht Ihnen, den neuen Wert an das Ende dieser Liste anzuhängen.
enthält() Gibt true zurück, wenn diese Liste einen bestimmten Wert enthält.
get () Gibt das Element an der bestimmten Position zurück
ist leer() Gibt den wahren Wert zurück, wenn die Liste keine Elemente enthält
Minus() Mit diesem Befehl können Sie eine neue Liste erstellen, die aus den Elementen des Originals besteht, mit Ausnahme derjenigen, die in der Sammlung angegeben sind.
Plus() Ermöglicht Ihnen, eine neue Liste zu erstellen, die aus den Elementen des Originals und den in der Sammlung genannten Elementen besteht.
Pop() Entfernt das letzte Element aus der Liste
entfernen() Entfernt das Element an der bestimmten Position
umkehren() Erstellen Sie eine neue Liste, die die Elemente der ursprünglichen Liste umkehrt
Größe() Gibt die Anzahl der Elemente in dieser Liste zurück
Sortieren() Gibt eine sortierte Kopie zurück

Betrachten Sie Folgendeswing Grooviges Skriptbeispiel

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

Ausgang:

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

Groovige Karten

Ein Map Groovy ist eine Sammlung von Schlüsselwertpaaren

Beispiele für Groovy-Karten:

  • [Tutorial: 'Java, Tutorial: 'Groovy] – Sammlung von Schlüssel-Wert-Paaren, die Tutorial als Schlüssel und ihre jeweiligen Werte haben
  • [ : ] Stellt eine leere Karte dar

Hier ist eine Liste der in Groovy verfügbaren Kartenmethoden.

Methoden Beschreibung
enthältKey() Überprüfen Sie, ob die Karte diesen Schlüssel enthält oder nicht?
get () Dieser Befehl sucht den Schlüssel in dieser Map und gibt den entsprechenden Wert zurück. Wenn Sie in dieser Karte keinen Eintrag finden, wird null zurückgegeben.
Schlüsselsatz() Ermöglicht das Auffinden einer Reihe von Schlüsseln in dieser Karte
stellen() Ordnet den angegebenen Wert dem angegebenen Schlüssel in dieser Map zu. Wenn die Map zuvor eine Zuordnung für diesen Schlüssel enthielt. Dann wird der alte Wert durch den angegebenen Wert ersetzt.
Größe() Gibt die Anzahl der Schlüsselwertzuordnungen zurück.
Werte () Dieser Befehl gibt eine Sammlungsansicht der Werte zurück.

Grooviges Beispiel:

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

Output

Jen

Groovy-Verschlüsse

Ein Groovy-Abschluss ist ein als Objekt verpackter Codeabschnitt. Es fungiert als Methode oder Funktion.

Beispiel für einen einfachen Verschluss

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

Ausgang:

My First Closure

Ein Abschluss kann Parameter akzeptieren. Die Liste der Identitäten wird durch Kommas getrennt

ein Pfeil (->), der das Ende der Parameterliste markiert.

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

Ausgang:

6

Ein Abschluss kann einen Wert zurückgeben.

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

Ausgang:

6

Es gibt viele integrierte Abschlüsse wie „It“, „identity“ usw. Abschlüsse können andere Abschlüsse als Parameter annehmen.

Groovy vs. Java

Groovy Javac
In Groovy ist der Standardzugriffsspezifizierer öffentlich. Dies bedeutet, dass eine Methode ohne angegebenen Zugriffsmodifikator öffentlich und außerhalb der Klassen- und Paketgrenzen zugänglich ist. In Java ist der Standardzugriffsmodifikator ein Paket. Wenn Sie also keinen Zugriffsmodifikator für Felder, Methoden oder Klassen angeben, wird er paketprivat.
Für Klassenmitglieder werden automatisch Getter und Setter generiert. Java, Sie müssen Getter- und Setter-Methoden für Felder definieren
Groovy ermöglicht die Verwendung von Variablenersetzungen double Anführungszeichen mit Zeichenfolgen. Java unterstützt keine Variablenersetzung.
Die Eingabe von Informationen ist optional. Eingabeinformationen sind in Java obligatorisch.
Groovy, es ist nicht erforderlich, mit einem Semikolon zu enden. In Java endet jede Anweisung mit einem Semikolon.
Groovy ist automatisch eine Wrapping-Klasse namens Script für jedes Programm In Java benötigen Sie die Hauptmethode, um eine Klasse ausführbar zu machen.

Mythen über Groovy

Mythos Realität
Wir können Groovy nur für die Skripterstellung verwenden. Es kann für die Skripterstellung verwendet werden. Sie können jedoch darüber hinaus noch viele andere Aufgaben ausführen.
Bei Groovy dreht sich alles um Abschlüsse. "Es ist nur funktionale Programmiersprache" Groovy übernimmt funktionale Programmiersprachen wie Lisp oder Closure.
Groovy ist die ideale Wahl, wenn Sie TDD ausführen möchten Diese Aussage ist wahr. Allerdings ist dies sicherlich nicht der einzige Grund, Groovy zu verwenden.
Sie können Groovy nur verwenden, wenn Sie Grails verwenden möchten. Grails ist ein leistungsstarkes Webentwicklungs-Framework.

Aber Groovy bietet mehr als das.

Nachteile der Verwendung von Groovy

  • Die Startzeit von JVM- und Groovy-Skripten ist langsam, was die Skripterstellung auf Betriebssystemebene einschränkt
  • Groovy wird in anderen Communities nicht vollständig akzeptiert.
  • Es ist nicht bequem, Groovy ohne IDE zu verwenden
  • Groovy kann langsamer sein, was die Entwicklungszeit verlängert
  • Groovy benötigt möglicherweise viel Speicher
  • Kenntnisse in Java sind zwingend erforderlich.

Groovige Tools

In diesem Groovy-Skript-Tutorial werden wir drei wichtige Tools besprechen

1. groovysh: Führt Code interaktiv aus.

2. groovyConsole: GUI für interaktive Codeausführung

3. groovy: Führt groovige Skripte aus. Sie können es gerne verwenden Perl, Python, usw.

Groovysch

  • Kommandozeilen-Shell
  • Hilft Ihnen, Groovy-Code interaktiv auszuführen
  • Ermöglicht die Eingabe von Anweisungen oder ganzen Skripten

Groovige Tools

Groovige Konsole

  • Swing Schnittstelle, die als minimaler Groovy-Entwicklungseditor fungiert.
  • Ermöglicht die Interaktion mit Groovy-Code
  • Hilft Ihnen beim Laden und Ausführen von Groovy-Skriptdateien

Groovige Tools

Groovy

Es ist der Prozessor, der Groovy-Programme und -Skripte ausführt. U

Es kann zum Testen einfacher Groovy-Ausdrücke verwendet werden.

Groovige Tools

Zusammenfassung

  • Groovy ist eine objektorientierte Programmiersprache, die für die Java-Plattform verwendet wird
  • Groovy Scripting bietet eine nahtlose Integration mit allen vorhandenen Java-Objekten und -Bibliotheken
  • Bob McWhirter & James Strachan entwickelten groovy im Jahr 2003
  • Listen-, Karten-, Bereichs- und reguläre Ausdrucksliterale sind wichtige Funktionen von Groovy
  • Vier Arten von operaDie von Groovy unterstützten Toren sind 1. Relational, 2. Logisch und 3. Bitwise 4. Abtretung
  • Groovy führte die Entscheidungsfindung mithilfe der Anweisungen if, if/else, Nested if, switch und Netsted switch durch
  • Mit der Listenstruktur können Sie eine Sammlung von Datenelementen speichern
  • Ein Map Groovy ist eine Sammlung von Schlüsselwertpaaren
  • In Groovy werden Getter und Setter automatisch für Klassenmitglieder generiert
  • In Java können Sie die Getter- und Setter-Methode für Felder bereitstellen
  • Der größte Mythos über Groovy ist, dass es nur für die Skripterstellung verwendet werden kann, was nicht korrekt ist
  • Manchmal kann Groovy langsamer sein, was die Entwicklungszeit verlängert
  • Drei Groovy-Tools sind: groovysh, das Code ausführt, groovy Console, eine GUI für die interaktive Codeausführung, und groovy, das Skripte ausführt