Groovy Skript-Tutorial für Anfänger

Non-Profit Groovy Skript?

Apache Groovy ist ein objektorientiertes und Java Syntaxkompatible Programmiersprache für die Java Plattform. Diese dynamische Sprache hat viele Funktionen, die ähnlich sind wie Python, Ruby, Smalltalk und Pero. Groovy Der Quellcode wird kompiliert in Java Bytecode, sodass es auf jeder Plattform ausgeführt werden kann, auf der JRE installiert ist. Groovy führt auch viele Aufgaben im Hintergrund aus, die es agiler und dynamischer machen.

Groovy Sprache kann als Skriptsprache für die Java Plattform. Es ist fast wie eine Superversion von Java welche Angebote Javas Enterprise-Funktionen. Es bietet auch viele Produktivitätsfunktionen wie DSL-Unterstützung, Closures und dynamische Typisierung. Im Gegensatz zu einigen anderen Sprachen ist es als Begleiter und nicht als Ersatz für Java.

Warum Groovy?

Hier sind die wichtigsten Gründe, warum Sie verwenden und lernen sollten Groovy-

  • Groovy ist eine agile und dynamische Sprache
  • Nahtlose Integration mit allen bestehenden Java Objekte und Bibliotheken
  • Fühlt sich einfach und natürlich an Java Entwickler
  • Prägnanterer und aussagekräftigerer Code im Vergleich zu Java
  • Sie können es so viel oder so wenig verwenden, wie Sie möchten mit Java Apps

Groovy 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 der Apache Software Foundation

Funktionen 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 kompiliert und vollständig in traditionelle integriert werden Java Anwendung.
  • 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 statische und dynamische Typisierung und Operatorüberladung
  • Literale Deklaration für Listen (Arrays), Karten, Bereiche und reguläre Ausdrücke

Wie installiert man Groovy

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

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

installieren Groovy

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

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

installieren Groovy

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

installieren Groovy

Schritt 5) Stimmen Sie den Lizenzbedingungen zu

installieren Groovy

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

installieren Groovy

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

installieren Groovy

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

installieren Groovy

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

installieren Groovy

Schritt 10) Weiter klicken

installieren Groovy

Schritt 11) Suchen Sie im Startmenü nach Groovy Console

installieren Groovy

Groovy Hallo Weltbeispiel

Angenommen, wir möchten eine einfache Zeichenfolge „Hallo Welt“ drucken in Java. Der Code zum Erreichen der Zeichenfolge Groovy hallo Welt wäre

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

Der obige Code ist gültig in beiden Java und Groovy as Groovy ist eine Obermenge von JavaAber der Vorteil mit Groovy ist, dass wir auf die Klassenerstellung, die Erstellung öffentlicher Methoden usw. verzichten und mit einer einzigen Codezeile wie folgt dasselbe Ergebnis erzielen können:

println "Hello World."

Es sind keine Semikolons erforderlich

Es ist keine Klammer erforderlich

System.out.println wird auf println reduziert

Groovy Variablen

In Java, statische Bindung ist zwingend erforderlich. 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 dieser Groovy Tutorial: Der Variablentyp (Integer) wird im Voraus mit dem Schlüsselwort „int“ deklariert. Wenn Sie eine Gleitkommazahl deklarieren, verwenden Sie das Schlüsselwort float.

Wenn Sie versuchen, einem int einen String-Wert zuzuweisen (entkommentieren Sie Zeile 5), erhalten Sie die folgende Fehlermeldung

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

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

Betrachten Sie das folgende tolle Beispiel:

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

Ausgang:

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

In Groovykö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

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

Betrachten Sie den folgenden Code:

int x = 104
println x
x = "Guru99"

Es gibt den folgenden 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

Groovy-Operatoren

Ein Operator ist ein Symbol, das dem Compiler sagt, dass er bestimmte mathematische oder logische Manipulationen durchführen soll.

Groovy hat die folgenden fünf Arten von Operatoren –

  • Arithmetische Operatoren: Addition (+), Subtraktion (-), Multiplikation (*), Division (/)
  • Relationale Operatoren: gleich (==), Ungleich (!=), Less als (<) Less als oder gleich (<=), Größer als (>), Größer als oder gleich (>=)
  • Logische Operatoren: Und (&&), Oder(||), Nicht(!)
  • Bitweise Operatoren: Und(&), Oder(|), (^), Xor oder Exklusiv-Oder-Operator
  • Zuweisungsoperatoren: Negationsoperator (~)

Groovy-Schleifen

In Javawü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

Sie können die gleiche Leistung erzielen in Groovy mit bis zu Schlüsselwörtern

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 den folgenden 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 für 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, die if-Anweisung wird ausgeführt, wenn die Bedingung erfüllt 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 unlesbar werden, wenn Sie mehrere Bedingungen haben. Um den Code lesbarer zu machen, wird die switch-Anweisung verwendet.
Verschachtelte Switch-Anweisung In Groovy Es ist auch möglich, verschachtelte Switch-Anweisungen zu verwenden.

Groovy Liste

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

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- [ ]

Nachfolgend finden Sie eine Liste der verfügbaren Methoden in Groovy:

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

Folgendes berücksichtigen Groovy Skriptbeispiel

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

Ausgang:

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

Groovy Landkarten

Eine Karte Groovy ist eine Sammlung von Schlüssel-Wert-Paaren

Beispiele Groovy Karten:

  • [Tutorial: 'Java, Lernprogramm: 'Groovy] – Sammlung von Schlüssel-Wert-Paaren mit Tutorial als Schlüssel und den entsprechenden Werten
  • [ : ] Stellt eine leere Karte dar

Hier ist eine Liste der verfügbaren Map-Methoden in Groovy.

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.

Groovy Ejemplo:

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

Ausgang

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 Java
In Groovy, der Standardzugriffsbezeichner ist „public“. Das bedeutet, dass eine Methode ohne angegebenen Zugriffsmodifikator öffentlich und außerhalb der Klassen- und Paketgrenzen zugänglich ist. In Java, der Standardzugriffsmodifikator ist ein Paket, d. h. wenn Sie keinen Zugriffsmodifikator für Felder, Methoden oder Klassen angeben, wird es paketprivat,
Für Klassenmitglieder werden automatisch Getter und Setter generiert. Javamüssen Sie Getter- und Setter-Methoden für Felder definieren
Groovy ermöglicht die Variablensubstitution durch doppelte Anführungszeichen bei Zeichenfolgen. Java unterstützt keine Variablensubstitution.
Die Eingabe von Informationen ist optional. Die Eingabe von Informationen ist obligatorisch in Java.
Groovy es muss nicht mit einem Semikolon enden. In Java, jede Anweisung endet mit einem Semikolon.
Groovy ist automatisch eine Wrapping-Klasse namens Script für jedes Programm In Java, Sie benötigen die Hauptmethode, um eine Klasse ausführbar zu machen.

Mythen über Groovy

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

Doch Groovy bietet mehr als das.

Nachteile der Verwendung Groovy

  • JVM und Groovy Die Startzeit des Skripts ist langsam, was die Skripterstellung auf Betriebssystemebene einschränkt
  • Groovy wird in anderen Gemeinschaften nicht vollständig akzeptiert.
  • Es ist nicht bequem zu bedienen Groovy ohne IDE zu verwenden
  • Groovy kann langsamer sein, was die Entwicklungszeit verlängert
  • Groovy kann viel Speicher benötigen
  • Die Kenntnis der Java ist zwingend.

Groovy Tools

Wir werden in diesem Artikel 3 wichtige Tools besprechen Groovy Skript-Tutorial

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.

Groovysh

  • Kommandozeilen-Shell
  • Hilft Ihnen bei der Umsetzung Groovy Interaktiv codieren
  • Ermöglicht die Eingabe von Anweisungen oder ganzen Skripten

Groovy Tools

Groovy trösten

  • Swing-Schnittstelle, die als minimale Groovy Entwicklungsredakteur.
  • Ermöglicht die Interaktion Groovy Code
  • Hilft Ihnen beim Laden und Ausführen Groovy Skriptdateien

Groovy Tools

Groovy

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

Es kann verwendet werden, um einfache Groovy Ausdrücke.

Groovy Tools

Zusammenfassung

  • Groovy ist eine objektorientierte Programmiersprache für Java  von Quibim
  • Groovy Scripting bietet eine nahtlose Integration mit allen bestehenden Java Objekte und Bibliotheken
  • Bob McWhirter & James Strachan entwickelten groovy im Jahr 2003
  • Liste, Karte, Bereich, reguläre Ausdrucksliterale sind wichtige Merkmale von Groovy
  • Vier Arten von Betreibern unterstützen durch Groovy sind 1. Relational 2. Logisch 3. Bitweise 4. Zuweisung
  • Groovy Entscheidungsfindung mithilfe von if-, if/else-, verschachtelten if-, switch- und vernetzen switch-Anweisungen durchgeführt
  • Mit der Listenstruktur können Sie eine Sammlung von Datenelementen speichern
  • Eine Karte Groovy ist eine Sammlung von Schlüssel-Wert-Paaren
  • In Groovy, Getter und Setter werden automatisch für Klassenmitglieder generiert
  • In Java, Sie können Getter- und Setter-Methoden für Felder verwenden
  • Der größte Mythos über Groovy ist, dass es nur für Skripting verwendet werden kann, was nicht korrekt ist
  • Irgendwann Groovy kann 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