Groovy Tutoriel de script pour les débutants

Qu'est-ce qu'une Groovy Scénario?

Apache Groovy est un orienté objet et Java langage de programmation compatible avec la syntaxe, conçu pour le Java plate-forme. Ce langage dynamique possède de nombreuses fonctionnalités similaires à Python, Ruby, Smalltalk et Pero. Groovy le code source 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.

Groovy Le langage peut être utilisé comme langage de script pour le Java plate-forme. C'est presque comme une super version de Java qui offre Javales capacités d'entreprise de. 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 substitut à Java.

Pourquoi Choisir 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 Java objets et bibliothèques
  • Cela semble facile et naturel à Java mobiles
  • Un code plus concis et plus significatif que Java
  • Vous pouvez l'utiliser autant ou aussi peu que vous le souhaitez avec Java applications

Groovy Histoire

  • 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 donné pour JDK 8)
  • 2015: Groovy est devenu un projet chez Apache Software Foundation

Caractéristiques Groovy

  • Liste, carte, plage, littéraux d'expression régulière
  • Multiméthode et métaprogrammation
  • Groovy les classes et les scripts sont généralement stockés dans des fichiers .groovy
  • Les scripts contiennent Groovy déclarations 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é aux systèmes traditionnels Java .
  • 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 en utilisant le fichier Zip ou comme Eclipse IDE. Dans ce Groovy tutoriel, 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

Groovy Exemple Hello World

Considérons que nous voulons imprimer une simple chaîne « Hello World » dans Java. Le code pour réaliser la chaîne Groovy bonjour tout le monde serait

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

Le code ci-dessus est valable dans les deux Java et Groovy as Groovy est un sur-ensemble de Java. Mais l'avantage avec 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

Groovy Variables

In 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 Groovy tutoriel, le type de variable (entier) est déclaré au préalable à 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 l'erreur suivante

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 l'exemple groovy suivant,

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

Sortie :

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

In 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 le code suivant :

int x = 104
println x
x = "Guru99"

Il donne l'erreur suivante

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-Operajeudi

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

Groovy possède les cinq types d’opérateurs suivants :

  • Opérateurs arithmétiques : Ajouter (+), Soustraire (-), Multiplication (*), Division (/)
  • Opérateurs relationnels : égal à (==), différent de (!=), Less que (<) Less supérieur ou égal à (<=), Supérieur à (>), Supérieur ou égal à (>=)
  • Opérateurs logiques : Et (&&), Ou(||), Non(!)
  • Opérateurs au niveau du bit : Et(&), Ou(|), (^), Xor ou Opérateur ou exclusif
  • Opérateurs d'affectation : Opérateur de négation (~)

Groovy-Boucles

In 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 le code suivant

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 pour la boucle d'entrée 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- La prise de décision

Déclarations Tromperie
si déclaration Un péché 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 In Groovy Il est également possible d'utiliser des instructions switch imbriquées.

Groovy Liste

La structure de liste vous permet de stocker une collection d’éléments de données. Dans un Groovy Dans le langage de programmation, la liste contient une séquence de références d'objets. Elle indique également une position dans la séquence. Un littéral de liste est présenté comme une série d'objets séparés par des virgules et placés entre crochets.

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

Voici la liste des méthodes 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érer ce qui suit Groovy exemple de script

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

Sortie :

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

Groovy Map

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

Des exemples de Groovy Plans:

  • [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.

Groovy Mise en situation :

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 Vs. Java

Groovy Java
In 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. In 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 des getters et des setters pour les champs
Groovy permet la substitution de variables en utilisant des guillemets doubles 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 dans Java.
Groovy il n'est pas nécessaire qu'il se termine par un point-virgule. In Java, chaque instruction se termine par un point-virgule.
Groovy est automatiquement une classe d'emballage appelée Script pour chaque programme In 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 juste pour les scripts. Il peut être utilisé pour les scripts. Cependant, vous pouvez effectuer de nombreuses autres tâches en dehors de cela.
Groovy tout est 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 pouvez utiliser Groovy seulement si vous souhaitez utiliser Grails. Grails est un puissant framework de développement Web.

Mais Groovy offre plus que cela.

Inconvénients de l'utilisation Groovy

  • JVM et Groovy le temps de démarrage du script 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.
  • Ce n'est pas pratique à utiliser Groovy sans utiliser l'IDE
  • Groovy peut être plus lent, ce qui a augmenté le temps de développement
  • Groovy peut avoir besoin de beaucoup de mémoire
  • Connaissance de Java est impératif.

Groovy Outils

Nous discuterons de 3 outils importants dans ce document Groovy tutoriel de script

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.

Groovysh

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

Groovy Outils

Groovy console

  • Interface Swing qui agit comme un minimal Groovy éditeur de développement.
  • Vous permet d'interagir Groovy code
  • Vous aide à charger et à exécuter Groovy fichiers de scripts

Groovy Outils

Groovy

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

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

Groovy Outils

Résumé

  • Groovy est un langage de programmation orienté objet utilisé pour Java plateforme
  • Groovy les scripts offrent une intégration transparente avec tous les éléments existants Java objets et bibliothèques
  • 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. Au niveau du bit 4. Affectation
  • Groovy 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 carte Groovy est une collection de paires clé-valeur
  • In Groovy, Les getters et setters sont automatiquement générés pour les membres de la classe
  • In Java, vous pouvez utiliser la méthode provide getters et setters pour les champs
  • Le plus grand mythe sur Groovy c'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 a augmenté le temps de développement
  • Trois objectifs Groovy Les outils sont : groovysh qui exécute le code, groovy Console qui est une interface graphique pour l'exécution de code interactive et groovy qui exécute les scripts