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“.
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
Schritt 4) Start. Klicken Sie im Begrüßungsbildschirm auf WEITER
Schritt 5) Stimmen Sie den Lizenzbedingungen zu
Schritt 6) Wählen Sie die Komponenten aus, die Sie installieren möchten, und klicken Sie auf WEITER
Schritt 7) Wählen Sie Installationsverzeichnis und klicken Sie auf WEITER
Schritt 8) Wählen Sie den Startmenüordner und klicken Sie auf WEITER
Schritt 9) Sobald die Installation abgeschlossen ist, übernehmen Sie die Standardpfade und klicken Sie auf WEITER
Schritt 10) Weiter klicken
Schritt 11) Suchen Sie im Startmenü nach Groovy Console
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 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
Es ist der Prozessor, der ausführt Groovy Programme und Skripte. U
Es kann verwendet werden, um einfache Groovy Ausdrücke.
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