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 arrière-plan, ce qui le rend plus agile et dynamique.
Le langage Groovy peut être utilisé comme langage de script pour la plate-forme 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
- Se sent facile et naturel pour les développeurs Java
- Code plus concis et significatif par rapport à Java
- Vous pouvez l'utiliser autant ou aussi peu que vous le souhaitez avec les applications Java
Histoire géniale
- 2003 :Développé par Bob McWhirter et James Strachan
- 2004 :mis en service dans JSR 241 mais il a été abandonné
- 2005 :Reprise par Jeremy Rayner et Guillaume Laforge
- 2007 :Groovy version 1.0
- 2012 : 2e version géniale
- 2014 :Groovy version 2.3 (prise en charge officielle du JDK 8)
- 2015 :Groovy est devenu un projet de l'Apache Software Foundation
Caractéristiques de Groovy
- Liste, carte, plage, littéraux d'expressions régulières
- Multiméthode et métaprogrammation
- Les classes et les 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éthode en dehors des définitions de classe.
- Il peut être compilé et entièrement intégré à une application Java traditionnelle.
- Prise en charge du niveau de langage pour les cartes, les listes et les expressions régulières
- Prend en charge les fermetures, le typage dynamique, le protocole métaobjet
- Prise en charge de la saisie 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 que Java est installé. https://www.guru99.com/install-java.html
Étape 2) Accédez à http://groovy-lang.org/download.html et cliquez sur installer.
Remarque :Vous pouvez également installer Groovy à l'aide du fichier Zip ou en tant qu'IDE Eclipse. Dans ce tutoriel Groovy, nous nous en tiendrons à Windows Installer
Étape 3) Lancez le programme d'installation téléchargé. Sélectionnez la langue et cliquez sur OK
Étape 4) Lancement. Dans l'écran de bienvenue, cliquez sur SUIVANT
Étape 5) Acceptez les termes de la licence
Étape 6) Sélectionnez les composants que vous souhaitez installer et cliquez sur SUIVANT
Étape 7) Sélectionnez Répertoire d'installation et cliquez sur SUIVANT
Étape 8) Choisissez le dossier du menu Démarrer et cliquez sur SUIVANT
Étape 9) Une fois l'installation terminée, laissez les chemins par défaut et cliquez sur SUIVANT
Étape 10) Cliquez sur SUIVANT
Étape 11) Dans le menu Démarrer, recherchez Groovy Console
Exemple génial de Hello World
Considérons que nous voulons imprimer une simple chaîne "Hello World" en Java. Le code pour obtenir 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 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èses
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'assigner une valeur String à un int (décommentez la ligne #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 le typage 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
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
Remarque :Vous pouvez toujours des types variables comme byte, short, int, long, etc. avec Groovy. Mais vous ne pouvez pas changer dynamiquement le type de variable car vous l'avez explicitement déclaré.
Considérez le code suivant :
int x = 104 println x x = "Guru99"
Cela 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-Opérateurs
Un opérateur est un symbole qui indique au compilateur d'effectuer certaines manipulations mathématiques ou logiques.
Groovy a les cinq types d'opérateurs suivants -
- Opérateurs arithmétiques :Addition (+), Soustraction (-), 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(!)
- Opérateurs au niveau du bit :And(&), Or(|), (^), Xor ou Exclusive-or operator
- 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 courante.
Considérez le code suivant
2.upto(4) {println "$it"}
Il 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, vous voulez imprimer 0,2,4 avec la 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 par étapes pour le même
0.step(7,2){println "$it"}
Groovy - Prise de décision
Déclarations | Tromperie |
---|---|
instruction if | 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, alors 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 de commutation | L'instruction if-else imbriquée peut devenir illisible lorsque vous avez plusieurs conditions. Pour rendre le code plus lisible, une instruction switch est utilisée. |
Instruction Switch 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 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 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 les méthodes de liste disponibles dans Groovy :
Méthodes | Description |
---|---|
ajouter() | Vous permet d'ajouter la nouvelle valeur à la fin de cette liste. |
contient() | Renvoie vrai si cette liste contient une certaine valeur. |
obtenir() | Renvoie l'élément à la position définie |
isEmpty() | Renvoie la valeur vraie 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 à l'exclusion de 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. |
pop() | Supprime le dernier élément de la liste |
supprimer() | 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 |
trier() | Renvoie une copie triée |
Prenons l'exemple de script Groovy suivant
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 géniales
Une carte Groovy est une collection de paires clé-valeur
Exemples de cartes Groovy :
- [Tutoriel : 'Java, Tutoriel : 'Groovy] – Collection de paires clé-valeur ayant Tutorial comme clé et leurs valeurs respectives
- [ :] Représenter une carte vide
Voici une liste des méthodes cartographiques disponibles dans Groovy.
Méthodes | Description |
---|---|
containsKey() | Vérifier que la carte contient cette clé ou non ? |
obtenir() | 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 trouver un ensemble de clés dans cette carte |
mettre() | Associe la valeur spécifiée à la clé donnée dans cette Map. Si la carte contenait précédemment 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 avec
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 retourner 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 comme "ça", "identité", etc. Les fermetures peuvent prendre d'autres fermetures comme paramètres.
Groovy Vs. Java
Superbe | 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 classe et de 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 package-private, |
Les getters et les 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 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 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'emballage 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 une affaire de bouclage. "C'est juste un 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 framework de développement Web puissant.
Mais Groovy offre 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 les autres communautés.
- Il n'est pas pratique d'utiliser Groovy sans utiliser 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 sensationnels
Nous aborderons 3 outils importants dans ce tutoriel 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.
Groovysh
- shell de ligne de commande
- Vous aide à exécuter du code Groovy de manière interactive
- Permet de saisir des instructions ou des scripts entiers
Console géniale
- Interface Swing 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
Superbe
C'est le processeur qui exécute les programmes et les scripts Groovy. U
Il peut être utilisé pour tester des expressions Groovy simples.
Résumé
- Groovy est un langage de programmation orienté objet utilisé pour la plate-forme 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 littéraux de liste, de carte, de plage et d'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 a pris des décisions à l'aide des 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
- Dans Groovy, les Getters et les 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 qui ne sont pas corrects
- Parfois, Groovy peut être plus lent, ce qui augmente le temps de développement
- Les 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
Java
- Java pour la boucle
- Construire des robots Raspberry Pi :meilleur tutoriel pour les débutants
- Routeurs CNC pour débutants
- Tutoriel Powershell pour les débutants :Apprenez les scripts Powershell
- Langage de programmation C PDF :Tutoriel de base pour les débutants
- Tutoriel Java Arrays :Déclarer, Créer, Initialiser [Exemple]
- Nombre d'Armstrong dans le programme JAVA utilisant la boucle For
- Programme de nombres Palindrome en Java Utilisation de la boucle while &for
- Un aperçu pour les débutants :qu'est-ce que la fabrication métallique ?