Tutoriel Groovy Script pour les débutants

Qu'est-ce qu'un script Groovy ?

Apache Groovy est un langage de programmation orienté objet et compatible avec la syntaxe Java, conçu pour la plate-forme Java. Ce langage dynamique possède de nombreuses fonctionnalités similaires à Python, Ruby, Smalltalk et Pero. Le code source Groovy est compilé dans Java Bytecode afin qu'il puisse s'exécuter sur n'importe quelle plate-forme sur laquelle JRE est installé. Groovy effectue également de nombreuses tâches en coulisses, ce qui le rend plus agile et dynamique.

Le langage Groovy peut être utilisé comme langage de script pour la plateforme Java. C'est presque comme une super version de Java qui offre les capacités d'entreprise de Java. Il offre également de nombreuses fonctionnalités de productivité telles que la prise en charge DSL, les fermetures et la saisie dynamique. Contrairement à d’autres langages, il est conçu comme un compagnon et non comme un remplacement de Java.

Pourquoi Groovy ?

Voici les principales raisons pour lesquelles vous devriez utiliser et apprendre Groovy :

  • Groovy est un langage agile et dynamique
  • Intégration transparente avec tous les objets et bibliothèques Java existants
  • Cela semble facile et naturel pour les développeurs Java
  • Composition de code plus concise et significativeares vers Java
  • Vous pouvez l'utiliser autant ou aussi peu que vous le souhaitez avec les applications Java

Histoire groovy

  • 2003 : Développé par Bob McWhirTer et James Strachan
  • 2004 : Mis en service dans le JSR 241 mais il a été abandonné
  • 2005 : Ramené par Jeremy Rayner & Guillaume Laforge
  • 2007 : Groovy version 1.0
  • 2012 : Groovy version 2
  • 2014 : Groovy version 2.3 (support officiel du JDK 8)
  • 2015 : Groovy est devenu un projet chez Apache Software Foundation

Caractéristiques de Groovy

  • Liste, carte, plage, littéraux d'expression régulière
  • Multiméthode et métaprogrammation
  • Les classes et scripts Groovy sont généralement stockés dans des fichiers .groovy
  • Les scripts contiennent des instructions Groovy sans aucune déclaration de classe.
  • Les scripts peuvent également contenir des définitions de méthodes en dehors des définitions de classe.
  • Il peut être compilé et entièrement intégré à une application Java traditionnelle.
  • Prise en charge au niveau linguistique des cartes, des listes et des expressions régulières
  • Prend en charge les fermetures, le typage dynamique, le protocole méta-objet
  • Prise en charge du typage statique et dynamique et de la surcharge des opérateurs
  • Déclaration littérale pour les listes (tableaux), les cartes, les plages et les expressions régulières

Comment installer Groovy

Étape 1) Assurez-vous d'avoir Java installé.

Étape 2) Cliquez sur http://groovy-lang.org/download.html et cliquez sur Installateur.

installer Groovy

Remarque : Vous pouvez également installer Groovy à l'aide du fichier Zip ou en tant que Eclipse IDE. Dans ce tutoriel Groovy, nous nous en tiendrons à Windows Installateur

Étape 3) Lancez le programme d'installation téléchargé. Sélectionnez la langue et cliquez sur OK

installer Groovy

Étape 4) Lancement. Dans l'écran d'accueil, cliquez sur SUIVANT

installer Groovy

Étape 5) Accepter les termes de la licence

installer Groovy

Étape 6) Sélectionnez les composants que vous souhaitez installer et cliquez sur SUIVANT

installer Groovy

Étape 7) Sélectionnez Répertoire d'installation et cliquez sur SUIVANT

installer Groovy

Étape 8) Choisissez le dossier du menu Démarrer et cliquez sur SUIVANT

installer Groovy

Étape 9) Une fois l'installation terminée, laissez les chemins par défaut et cliquez sur SUIVANT

installer Groovy

Étape 10) Cliquez sur Suivant

installer Groovy

Étape 11) Dans le menu Démarrer, recherchez Groovy Console

installer Groovy

Exemple Groovy Hello World

Considérons que nous voulons imprimer une simple chaîne « Hello World » en Java. Le code pour réaliser la chaîne Groovy hello world serait

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

Le code ci-dessus est valide à la fois en Java et en Groovy car Groovy est un sur-ensemble de Java. Mais l'avantage de Groovy est que nous pouvons supprimer la création de classes, la création de méthodes publiques, etc. et obtenir le même résultat avec une seule ligne de code comme suit :

println "Hello World."

Il n'y a pas besoin de points-virgules

Il n'y a pas besoin de parenthèse

System.out.println est réduit à println

Variables groovy

En Java, la liaison statique est obligatoire. Cela signifie que le type d'une variable doit être déclaré à l'avance.

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

Dans l'exemple ci-dessus de ce tutoriel Groovy, le type de variable (entier) est déclaré à l'avance à l'aide du mot-clé « int ». Si vous deviez déclarer un nombre à virgule flottante, vous utilisez le mot-clé float.

Si vous essayez d'attribuer une valeur String à un int (décommentez la ligne n°5), vous obtiendrez le résultat suivant.wing erreur

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

En revanche, Groovy prend en charge la saisie dynamique. Les variables sont définies à l'aide du mot-clé « def » et le type d'une variable n'a pas besoin d'être déclaré à l'avance. Le compilateur détermine le type de variable au moment de l'exécution et vous pouvez même le type de variable.

Considérez ce qui suitwing exemple génial,

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

Sortie :

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

Dans Groovy, vous pouvez créer des chaînes multilignes. Assurez-vous simplement que vous avez placé la chaîne entre guillemets triples.

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

Sortie :

Groovy
at
Guru99

Notes: Vous pouvez toujours utiliser des types de variables comme byte, short, int, long, etc. avec Groovy. Mais vous ne pouvez pas modifier dynamiquement le type de variable comme vous l'avez explicitement déclaré.

Considérez ce qui suitwing code:

int x = 104
println x
x = "Guru99"

Cela donne la suitewing erreur

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

Opérateurs Groovy

Un opérateur est un symbole qui indique au compilateur d'effectuer certaines manipulations mathématiques ou logiques.

Groovy a le suivantwing cinq types d’opérateurs –

  • Opérateurs arithmétiques : Ajouter (+), Soustraire (-), Multiplication (*), Division (/)
  • Opérateurs relationnels : égal à (==), Différent de (!=), Inférieur à (<) Inférieur ou égal à (<=), Supérieur à (>), Supérieur ou égal à (>=)
  • Opérateurs logiques : Et (&&), Ou(||), Non(!)
  • Bitwise opérateurs : Et(&), Ou(|), (^), Xor ou Opérateur-ou-exclusif
  • Opérateurs d'affectation : Opérateur de négation (~)

Groovy-Loops

En Java, vous définiriez une boucle comme suit

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

Sortie :

0
1
2
3
4

Vous pouvez obtenir le même résultat dans Groovy en utilisant jusqu'à des mots-clés

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

Vous obtenez le même résultat que ci-dessus. $c'est une fermeture qui donne la valeur de la boucle en cours.

Considérez ce qui suitwing code

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

Cela donne une sortie

2
3
4

Vous pouvez également utiliser le mot-clé « times » pour obtenir le même résultat

5.times{println "$it"}

Considérez que vous voulez imprimer 0,2,4 avec boucle for en Java

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

Sortie :

0
2
4

Vous pouvez utiliser la méthode des étapes pour la même chose

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

Groovy - Prise de décision

Déclarations Tromperie
si déclaration Comme en Java, l'instruction if est exécutée si la condition est vraie.
instruction if/else Dans l'instruction if/else, une condition est d'abord évaluée dans l'instruction if. Si la condition est vraie, exécute ensuite les instructions. Il s'arrête avant la condition else et sort de la boucle. Cependant, si la condition est fausse, exécute les instructions dans le bloc d'instructions else. Ensuite, il sort de la boucle.
Instruction If imbriquée Il est utilisé lorsqu'il est nécessaire d'avoir plusieurs instructions if.
Instruction Switch L'instruction if-else imbriquée peut devenir illisible lorsque vous avez plusieurs conditions. Pour rendre le code plus lisible, l'instruction switch est utilisée.
Instruction de commutateur imbriquée Dans Groovy, il est également possible d'utiliser des instructions switch imbriquées.

Liste géniale

La structure de liste vous permet de stocker une collection d’éléments de données. Dans un langage de programmation Groovy, la liste contient une séquence de références d'objets. Il montre également une position dans la séquence. Un littéral List est présenté comme une série d'objets séparés par des virgules et entourés de carrés. brackets.

Exemple de liste Grrovy :

Une liste de chaînes- ['Angular', 'Nodejs,]

Une liste de références d'objets – ['Groovy', 2,4 2.6]

Une liste de valeurs entières – [16, 17, 18, 19]

Une liste vide- [ ]

Following sont les méthodes de liste disponibles dans Groovy :

Méthodologie Description
ajouter() Vous permet d'ajouter la nouvelle valeur à la fin de cette liste.
contient() Renvoie vrai si cette liste contient une certaine valeur.
get () Renvoie l'élément à la position définie
est vide() Renvoie la vraie valeur si la liste ne contient aucun élément
moins() Cette commande permet de créer une nouvelle Liste composée des éléments de l'original excluant ceux qui sont spécifiés dans la collection.
plus() Vous permet de créer une nouvelle liste composée des éléments de l'original ainsi que ceux mentionnés dans la collection.
populaire() Supprime le dernier élément de la liste
retirer() Supprime l'élément à la position spécifique
inverser () Créer une nouvelle liste qui inverse les éléments de la liste d'origine
Taille() Renvoie le nombre d'éléments dans cette liste
sorte() Renvoie une copie triée

Considérez ce qui suitwing Exemple de script Groovy

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

Sortie :

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

Cartes groovy

Une Map Groovy est une collection de paires clé-valeur

Exemples de maps Groovy :

  • [Tutoriel : 'Java, Tutoriel : 'Groovy] – Collection de paires clé-valeur qui ont Tutorial comme clé et leurs valeurs respectives
  • [ : ] Représente une carte vide

Voici une liste des méthodes de cartographie disponibles dans Groovy.

Méthodologie Description
contientClé() Vérifier que la carte contient cette clé ou non ?
get () Cette commande recherche la clé dans cette carte et renvoie la valeur correspondante. Si vous ne trouvez aucune entrée dans cette carte, elle renverra null.
keySet () Permet de retrouver un ensemble de clés dans cette Map
mettre() Associe la valeur spécifiée à la clé donnée dans cette carte. Si la carte contenait auparavant un mappage pour cette clé. Ensuite, l'ancienne valeur sera remplacée par la valeur spécifiée.
Taille() Renvoie le nombre de mappages clé-valeur.
valeurs () Cette commande renvoie une vue de collection des valeurs.

Exemple génial :

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

Sortie

Jen

Groovy - Fermetures

Une fermeture groovy est un morceau de code enveloppé comme un objet. Il agit comme une méthode ou une fonction.

Exemple de fermeture simple

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

Sortie :

My First Closure

Une fermeture peut accepter des paramètres. La liste des identifiants est séparée par des virgules

une flèche (->) marquant la fin de la liste des paramètres.

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

Sortie :

6

Une fermeture peut renvoyer une valeur.

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

Sortie :

6

Il existe de nombreuses fermetures intégrées telles que « It », « identité », etc. Les fermetures peuvent prendre d'autres fermetures comme paramètres.

Groovy contre. Java

Sensationnel Java
Dans Groovy, le spécificateur d'accès par défaut est public. Cela signifie qu'une méthode sans modificateur d'accès spécifié est publique et accessible en dehors des limites de la classe et du package. En Java, le modificateur d'accès par défaut est un package, c'est-à-dire que si vous ne spécifiez pas de modificateur d'accès pour les champs, les méthodes ou la classe, il devient privé du package.
Les getters et setters sont automatiquement générés pour les membres de la classe. Java, vous devez définir la méthode getters et setters pour les champs
Groovy permet la substitution de variables en utilisant double guillemets avec des chaînes. Java ne prend pas en charge la substitution de variables.
La saisie des informations est facultative. La saisie des informations est obligatoire en Java.
Groovy, il n'est pas nécessaire de se terminer par un point-virgule. En Java, chaque instruction se termine par un point-virgule.
Groovy est automatiquement une classe d'encapsulation appelée Script pour chaque programme En Java, vous avez besoin de la méthode main pour rendre une classe exécutable.

Mythes sur Groovy

Mythe Réalité
Nous pouvons utiliser Groovy uniquement pour les scripts. Il peut être utilisé pour les scripts. Cependant, vous pouvez effectuer de nombreuses autres tâches en dehors de cela.
Groovy est avant tout une question de fermetures. "C'est juste langage de programmation fonctionnel. » Groovy adopte des langages de programmation fonctionnels comme Lisp ou Closure.
Groovy est un choix idéal si vous voulez faire du TDD Cette affirmation est vraie. Cependant, ce n’est certainement pas la seule raison d’utiliser Groovy.
Vous ne pouvez utiliser Groovy que si vous souhaitez utiliser Grails. Grails est un puissant framework de développement Web.

Mais Groovy offre bien plus que cela.

Inconvénients de l’utilisation de Groovy

  • Le temps de démarrage des scripts JVM et Groovy est lent, ce qui limite les scripts au niveau du système d'exploitation
  • Groovy n'est pas entièrement accepté dans d'autres communautés.
  • Il n'est pas pratique d'utiliser Groovy sans utiliser l'IDE
  • Groovy peut être plus lent, ce qui augmente le temps de développement
  • Groovy peut avoir besoin de beaucoup de mémoire
  • La connaissance de Java est impérative.

Outils géniaux

Nous discuterons de 3 outils importants dans ce didacticiel de script Groovy

1. groovysh : exécute le code de manière interactive.

2. groovyConsole : interface graphique pour l'exécution de code interactif

3. groovy : exécute des scripts groovy. Vous pouvez l'utiliser comme Perl, Python, etc.

Groovych

  • shell de ligne de commande
  • Vous aide à exécuter le code Groovy de manière interactive
  • Permet de saisir des déclarations ou des scripts entiers

Outils géniaux

Une console géniale

  • Swing interface qui agit comme un éditeur de développement Groovy minimal.
  • Vous permet d'interagir avec le code Groovy
  • Vous aide à charger et exécuter des fichiers de script Groovy

Outils géniaux

Sensationnel

C'est le processeur qui exécute les programmes et scripts Groovy. U

Il peut être utilisé pour tester des expressions Groovy simples.

Outils géniaux

Résumé

  • Groovy est un langage de programmation orienté objet utilisé pour la plateforme Java
  • Les scripts Groovy offrent une intégration transparente avec tous les objets et bibliothèques Java existants
  • Bob McWhirter et James Strachan ont développé groovy en 2003
  • Les listes, cartes, plages et expressions régulières sont des fonctionnalités importantes de Groovy.
  • Quatre types d'opérateurs pris en charge par Groovy sont 1. Relationnel 2.Logique 3. Bitwise 4. Affectation
  • Groovy a pris des décisions en utilisant les instructions if, if/else, Nested if, switch, Netsted switch.
  • La structure de liste vous permet de stocker une collection d'éléments de données
  • Une Map Groovy est une collection de paires clé-valeur
  • Dans Groovy, les getters et setters sont automatiquement générés pour les membres de la classe
  • En Java, vous pouvez utiliser la méthode provide getters et setters pour les champs
  • Le plus grand mythe à propos de Groovy est qu'il ne peut être utilisé que pour des scripts, ce qui n'est pas correct.
  • Parfois, Groovy peut être plus lent, ce qui augmente le temps de développement
  • Trois outils Groovy sont : groovysh qui exécute du code, groovy Console qui est une interface graphique pour l'exécution de code interactif et groovy qui exécute des scripts.