Groovy Tutorial sugli script per principianti
Che cos'è un Groovy Copione?
Apache Groovy è un oggetto orientato e Java linguaggio di programmazione compatibile con la sintassi creato per Java piattaforma. Questo linguaggio dinamico ha molte caratteristiche simili a Python, Ruby, Smalltalk e Pero. Groovy il codice sorgente viene compilato Java Bytecode in modo che possa essere eseguito su qualsiasi piattaforma su cui è installato JRE. Groovy svolge anche molti compiti dietro le quinte che lo rendono più agile e dinamico.
Groovy può essere utilizzato come linguaggio di scripting per il file Java piattaforma. È quasi come una versione super di Java che offre Javale capacità aziendali di. Offre inoltre molte funzionalità di produttività come supporto DSL, chiusure e digitazione dinamica. A differenza di altri linguaggi, è concepito come complemento e non come sostituto Java.
Perché Groovy?
Ecco i motivi principali per cui dovresti usare e imparare Groovy-
- Groovy è un linguaggio agile e dinamico
- Perfetta integrazione con tutti gli esistenti Java oggetti e librerie
- È facile e naturale farlo Java sviluppatori
- Codice più conciso e significativo rispetto a Java
- Puoi usarlo quanto vuoi o quanto meno Java applicazioni
Groovy Storia
- 2003: sviluppato da Bob McWhirter e James Strachan
- 2004: Commissionato in JSR 241 ma è stato abbandonato
- 2005: riportato in vita da Jeremy Rayner e Guillaume Laforge
- 2007: Groovy Versione 1.0
- 2012: Groovy Versione 2
- 2014: Groovy versione 2.3 (supporto ufficiale fornito per JDK 8)
- 2015: Groovy è diventato un progetto presso Apache Software Foundation
Caratteristiche principali dell'app Groovy
- Elenco, mappa, intervallo, valori letterali di espressioni regolari
- Multimetodo e metaprogrammazione
- Groovy le classi e gli script sono solitamente archiviati in file .groovy
- Gli script contengono Groovy istruzioni senza alcuna dichiarazione di classe.
- Gli script possono contenere anche definizioni di metodi al di fuori delle definizioni di classe.
- Può essere compilato e completamente integrato con quello tradizionale Java applicazione.
- Supporto a livello linguistico per mappe, elenchi, espressioni regolari
- Supporta chiusure, digitazione dinamica, protocollo metaoggetto
- Supporto per digitazione statica e dinamica e sovraccarico degli operatori
- Dichiarazione letterale per elenchi (array), mappe, intervalli ed espressioni regolari
Come installare Groovy
Passo 1) Assicurati di averlo Java installato.
Passo 2) Vai su http://groovy-lang.org/download.html e fare clic su programma di installazione.
Nota: è anche possibile installare Groovy utilizzando il file Zip o come file Eclipse IDE. In questo Groovy tutorial, ci atterremo a Windows Installer
Passo 3) Avvia il programma di installazione scaricato. Selezionare la lingua e fare clic su OK
Passo 4) Lancio. Nella schermata di benvenuto, fare clic su AVANTI
Passo 5) Accettare i termini della licenza
Passo 6) Seleziona i componenti che desideri installare e fai clic su AVANTI
Passo 7) Selezionare Directory di installazione e fare clic su AVANTI
Passo 8) Scegli la cartella del menu Start e fai clic su AVANTI
Passo 9) Una volta terminata l'installazione, lasciare che i percorsi siano predefiniti e fare clic su AVANTI
Passo 10) Fai clic su AVANTI
Passo 11) Nel menu Start cerca Groovy consolle
Groovy Ciao esempio mondiale
Consideriamo di voler stampare una semplice stringa "Hello World". Java. Il codice per ottenere la stringa Groovy ciao mondo sarebbe
public class Demo { public static void main(String[] args) { System.out.println("Hello World"); } }
Il codice sopra è valido in entrambi Java e a Groovy as Groovy è un superset di Java. Ma il vantaggio con Groovy è che possiamo eliminare la creazione di classi, la creazione di metodi pubblici, ecc. e ottenere lo stesso output con un codice a riga singola come segue:
println "Hello World."
Non è necessario il punto e virgola
Non c'è bisogno di parentesi
System.out.println viene ridotto a println
Groovy Variabili
In Java, la rilegatura statica è obbligatoria. Ciò significa che il tipo di una variabile deve essere dichiarato in anticipo.
public class Demo { public static void main(String[] args) { int x = 104; System.out.println(x); //x = "Guru99"; } }
Nell'esempio sopra di questo Groovy tutorial, il tipo di variabile (intero) viene dichiarato in anticipo utilizzando la parola chiave “int”. Se dovessi dichiarare un numero in virgola mobile utilizzeresti la parola chiave float.
Se si tenta di assegnare un valore String a un int (rimuovere il commento dalla riga n. 5), verrà visualizzato il seguente errore
Demo.java:5: error: incompatible types: String cannot be converted to int x = "Guru99";
In contrasto, Groovy supporta la digitazione dinamica. Le variabili vengono definite utilizzando la parola chiave "def" e non è necessario dichiarare in anticipo il tipo di una variabile. Il compilatore rileva il tipo di variabile in fase di esecuzione e tu puoi anche il tipo di variabile.
Considera il seguente esempio groovy,
def x = 104 println x.getClass() x = "Guru99" println x.getClass()
Produzione:
class java.lang.Integer class java.lang.String
In Groovy, è possibile creare stringhe multilinea. Assicurati solo di aver racchiuso la stringa tra virgolette triple.
def x = """Groovy at Guru99""" println x
Produzione:
Groovy at Guru99
Note:: È ancora possibile utilizzare tipi variabili come byte, short, int, long, ecc Groovy. Ma non puoi modificare dinamicamente il tipo di variabile come lo hai dichiarato esplicitamente.
Considera il codice seguente:
int x = 104 println x x = "Guru99"
Dà il seguente errore
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-OperaTors
Un operatore è un simbolo che dice al compilatore di eseguire determinate manipolazioni matematiche o logiche.
Groovy ha i seguenti cinque tipi di operatori –
- Operatori aritmetici: addizione (+), sottrazione (-), moltiplicazione (*), divisione (/)
- Operatori relazionali: uguale a (==), diverso da (!=), Less di (<) Less maggiore o uguale a (<=), Maggiore di (>), Maggiore o uguale a (>=)
- Operatori logici: And (&&), Or(||), Not(!)
- Operatori bit a bit: And(&), Or(|), (^), Xor o operatore OR esclusivo
- Operatori di assegnazione: Operatore di negazione (~)
Groovy-Loop
In Java, definiresti un ciclo come segue
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x++) { System.out.println(x); } } }
Produzione:
0 1 2 3 4
Puoi ottenere lo stesso risultato in Groovy utilizzando fino a parole chiave
0.upto(4) {println "$it"}
Ottieni lo stesso risultato di cui sopra. $è una chiusura che dà il valore del ciclo corrente.
Considera il seguente codice
2.upto(4) {println "$it"}
Fornisce un output
2 3 4
Puoi anche utilizzare la parola chiave "times" per ottenere lo stesso risultato
5.times{println "$it"}
Considera, vuoi stampare 0,2,4 con per il loop in Java
public class Demo { public static void main(String[] args) { for (int x = 0; x <= 5; x=x+2) { System.out.println(x); } } }
Produzione:
0 2 4
È possibile utilizzare il metodo passo per lo stesso
0.step(7,2){println "$it"}
Groovy- Il processo decisionale
Report | Inganno |
---|---|
se Dichiarazione | Come in Java, l'istruzione if viene eseguita se la condizione è vera. |
Istruzione if/else | Nell'istruzione if/else inizialmente viene valutata una condizione nell'istruzione if. Se la condizione è vera, esegue le istruzioni successive. Si ferma prima della condizione else ed esce dal ciclo. Tuttavia, se la condizione è falsa, esegue le istruzioni nel blocco di istruzioni else. Quindi esce dal ciclo. |
Istruzione If nidificata | Viene utilizzato quando è necessario avere più istruzioni if. |
Dichiarazione di cambio | L'istruzione if-else nidificata potrebbe diventare illeggibile quando sono presenti più condizioni. Per rendere il codice più leggibile viene utilizzata l'istruzione switch. |
Istruzione Switch nidificata | In Groovy è anche possibile utilizzare istruzioni switch nidificate. |
Groovy Lista
La struttura dell'elenco consente di memorizzare una raccolta di elementi di dati. Nell'a Groovy linguaggio di programmazione, List contiene una sequenza di riferimenti a oggetti. Mostra anche una posizione nella sequenza. Un letterale List è presentato come una serie di oggetti separati da virgole e racchiusi tra parentesi quadre.
Esempio di elenco Grrovy:
Un elenco di stringhe: ['Angular', 'Nodejs,]
Un elenco di riferimenti a oggetti – ['Groovy', 2,4 2.6]
Un elenco di valori interi – [16, 17, 18, 19]
Un elenco vuoto- [ ]
Di seguito sono elencati i metodi disponibili in Groovy:
Metodi | Descrizione |
---|---|
Inserisci() | Consente di aggiungere il nuovo valore alla fine di questo elenco. |
contiene() | Restituisce vero se questa lista contiene un certo valore. |
ottenere () | Restituisce l'elemento nella posizione definita |
è vuoto() | Restituisce il valore vero se Lista non contiene elementi |
meno() | Questo comando permette di creare una nuova Lista composta dagli elementi dell'originale escludendo quelli specificati nella collezione. |
più() | Consente di creare una nuova Lista composta dagli elementi dell'originale insieme a quelli menzionati nella raccolta. |
pop () | Rimuove l'ultimo elemento dall'elenco |
rimuovere() | Rimuove l'elemento nella posizione specifica |
inversione() | Crea una nuova lista che inverte gli elementi della lista originale |
dimensione() | Restituisce il numero di elementi in questo Elenco |
ordinare() | Restituisce una copia ordinata |
Considera quanto segue Groovy esempio di sceneggiatura
def y = ["Guru99", "is", "migliori", "for", "Groovy"] println y y.add("Learning") println(y.contains("is")) println(y.get(2)) println(y.pop())
Produzione:
[Guru99, is, migliori, for, Groovy] true migliori Learning
Groovy Maps
Una cartina Groovy è una raccolta di coppie chiave-valore
Esempi di Groovy mappe:
- [Tutorial: 'Java, Tutorial: 'Groovy] – Raccolta di coppie chiave-valore che ha Tutorial come chiave e i rispettivi valori
- [ : ] Rappresenta una mappa vuota
Di seguito è riportato un elenco dei metodi di mappa disponibili in Groovy.
Metodi | Descrizione |
---|---|
contieneChiave() | Controlla che la mappa contenga questa chiave oppure no? |
ottenere () | Questo comando cerca la chiave in questa mappa e restituisce il valore corrispondente. Se non trovi alcuna voce in questa mappa, restituirà null. |
mazzo di chiavi() | Permette di trovare un set di chiavi in questa mappa |
Mettere() | Associa il valore specificato alla chiave specificata in questa mappa. Se la mappa in precedenza conteneva una mappatura per questa chiave. Quindi il vecchio valore verrà sostituito dal valore specificato. |
dimensione() | Restituisce il numero di mappature di valori-chiave. |
valori () | Questo comando restituisce una visualizzazione della raccolta dei valori. |
Groovy Esempio:
def y = [fName:'Jen', lName:'Cruise', sex:'F'] print y.get("fName")
Uscita
Jen
Groovy- Chiusure
Una chiusura groovy è un pezzo di codice avvolto come un oggetto. Agisce come un metodo o una funzione.
Esempio di chiusura semplice
def myClosure = { println "My First Closure" } myClosure()
Produzione:
My First Closure
Una chiusura può accettare parametri. L'elenco degli identificativi è separato da virgole
una freccia (->) che segna la fine dell'elenco dei parametri.
def myClosure = { a,b,c-> y = a+b+c println y } myClosure(1,2,3)
Produzione:
6
Una chiusura può restituire un valore.
def myClosure = { a,b,c-> return (a+b+c) } println(myClosure(1,2,3))
Produzione:
6
Esistono molte chiusure predefinite come "It", "identità", ecc. Le chiusure possono accettare altre chiusure come parametri.
Groovy Vs. Java
Groovy | Java |
---|---|
In Groovy, l'identificatore di accesso predefinito è pubblico. Significa che un metodo senza alcun modificatore di accesso specificato è pubblico e accessibile al di fuori dei limiti della classe e del pacchetto. | In Java, il modificatore di accesso predefinito è un pacchetto, ovvero se non specifichi il modificatore di accesso per campi, metodi o classe diventa package-private, |
Getter e setter vengono generati automaticamente per i membri della classe. | Java, è necessario definire il metodo getter e setter per i campi |
Groovy consente la sostituzione delle variabili utilizzando le stringhe tra virgolette doppie. | Java non supporta la sostituzione delle variabili. |
La digitazione delle informazioni è facoltativa. | La digitazione delle informazioni è obbligatoria in Java. |
Groovy non è necessario che termini con un punto e virgola. | In Java, ogni istruzione termina con un punto e virgola. |
Groovy è automaticamente una classe di wrapper chiamata Script per ogni programma | In Java, è necessario il metodo main per rendere eseguibile una classe. |
Miti su Groovy
Mito | Realtà |
---|---|
Possiamo usare Groovy solo per lo scripting. | Può essere utilizzato per lo scripting. Tuttavia, puoi eseguire molte altre attività oltre a questa. |
Groovy è tutta una questione di chiusure. “È semplicemente linguaggio di programmazione funzionale. " | Groovy adotta da linguaggi di programmazione funzionale come Lisp o Closure. |
Groovy è la scelta ideale se vuoi fare TDD | Questa affermazione è vera. Tuttavia, non è certamente l’unico motivo per utilizzarlo Groovy. |
Puoi usare Groovy solo se vuoi usare Grails. | Grails è un potente framework di sviluppo web.
Ma Groovy offre di più. |
Contro dell'utilizzo Groovy
- JVM e Groovy l'ora di avvio dello script è lenta e ciò limita lo scripting a livello di sistema operativo
- Groovy non è del tutto accettato in altre comunità.
- Non è conveniente da usare Groovy senza utilizzare l'IDE
- Groovy può essere più lento, il che aumenta il tempo di sviluppo
- Groovy potrebbe aver bisogno di molta memoria
- Conoscenza di Java è imperativo.
Groovy Strumenti
Discuteremo 3 strumenti importanti in questo Groovy esercitazione sulla sceneggiatura
1. groovysh: esegue il codice in modo interattivo.
2. groovyConsole: GUI per l'esecuzione del codice interattivo
3. groovy: esegue script groovy. Puoi usarlo come Perl, Python, ecc.
Groovysh
- shell della riga di comando
- Ti aiuta a eseguire Groovy codice in modo interattivo
- Permette di inserire istruzioni o interi script
Groovy consolle
- Interfaccia Swing che funge da minimo Groovy redattore dello sviluppo.
- Ti permette di interagire Groovy codice
- Ti aiuta a caricare ed eseguire Groovy file di script
Groovy
È il processore che esegue Groovy programmi e script. U
Può essere utilizzato per eseguire test semplici Groovy espressioni.
Sommario
- Groovy è un linguaggio di programmazione orientato agli oggetti utilizzato per Java piattaforma
- Groovy lo scripting offre un'integrazione perfetta con tutti gli esistenti Java oggetti e librerie
- Bob McWhirter e James Strachan hanno sviluppato Groovy nel 2003
- Elenco, mappa, intervallo ed espressioni letterali regolari sono caratteristiche importanti di Groovy
- Quattro tipi di operatori supportati da Groovy sono 1. Relazionale 2. Logico 3. Bitwise 4. Assegnazione
- Groovy ha eseguito il processo decisionale utilizzando le istruzioni if, if/else, Nested if, switch, Netsted switch
- La struttura dell'elenco consente di memorizzare una raccolta di elementi dati
- Una cartina Groovy è una raccolta di coppie chiave-valore
- In Groovy, Getter e setter vengono generati automaticamente per i membri della classe
- In Java, è possibile utilizzare il metodo getter e setter fornito per i campi
- Il più grande mito su Groovy è che può essere utilizzato solo per lo scripting, il che non è corretto
- A volte Groovy può essere più lento, il che aumenta il tempo di sviluppo
- Tre Groovy Gli strumenti sono: groovysh che esegue il codice, groovy Console che è un'interfaccia grafica per l'esecuzione interattiva del codice e groovy che esegue gli script