Groovy Tutorial de guión para principiantes

¿Qué es Groovy ¿Texto?

APACHE Groovy es un objeto orientado y Java lenguaje de programación compatible con la sintaxis creado para Java plataforma. Este lenguaje dinámico tiene muchas características que son similares a Python, Ruby, Smalltalk y Pero. Groovy El código fuente se compila en Java Bytecode para que pueda ejecutarse en cualquier plataforma que tenga JRE instalado. Groovy También realiza muchas tareas detrás de escena lo que lo hace más ágil y dinámico.

Groovy El lenguaje se puede utilizar como lenguaje de secuencias de comandos para el Java plataforma. Es casi como una súper versión de Java que ofrece JavaLas capacidades empresariales de. También ofrece muchas funciones de productividad como compatibilidad con DSL, cierres y escritura dinámica. A diferencia de otros lenguajes, está diseñado como complemento, no como reemplazo de Java.

¿Por Qué Groovy?

Aquí encontrará las principales razones por las que debería utilizar y aprender Groovy-

  • Groovy es un lenguaje ágil y dinámico
  • Integración perfecta con todos los existentes Java objetos y bibliotecas
  • Se siente fácil y natural Java desarrolladores
  • Un código más conciso y significativo se compara con Java
  • Puedes usarlo tanto o tan poco como quieras con Java aplicaciones

Groovy Historia

  • 2003: Desarrollado por Bob McWhirter y James Strachan
  • 2004: Encargado en JSR 241 pero fue abandonado
  • 2005: Recuperado por Jeremy Rayner y Guillaume Laforge
  • 2007: Groovy Versión 1.0
  • 2012: Groovy Versión 2
  • 2014: Groovy versión 2.3 (soporte oficial proporcionado para JDK 8)
  • 2015: Groovy se convirtió en un proyecto en Apache Software Foundation

Caracteristicas de Groovy

  • Lista, mapa, rango, literales de expresiones regulares
  • Multimétodo y metaprogramación
  • Groovy Las clases y los scripts generalmente se almacenan en archivos .groovy
  • Los guiones contienen Groovy declaraciones sin ninguna declaración de clase.
  • Los scripts también pueden contener definiciones de métodos fuera de las definiciones de clases.
  • Puede compilarse e integrarse completamente con los tradicionales. Java .
  • Soporte de nivel de idioma para mapas, listas y expresiones regulares.
  • Admite cierres, escritura dinámica y protocolo de metaobjetos.
  • Soporte para tipado estático y dinámico y sobrecarga de operadores
  • Declaración literal para listas (matrices), mapas, rangos y expresiones regulares

Cómo instalar Groovy

Paso 1) Asegúrate de que tienes Java instalado.

Paso 2) Vaya a http://groovy-lang.org/download.html y haga clic en instalador.

instalar Groovy

Nota: También puedes instalar Groovy utilizando el archivo Zip o como Eclipse IDE. En este Groovy tutorial, nos atendremos a Windows Instalador

Paso 3) Inicie el instalador descargado. Seleccione el idioma y haga clic en Aceptar

instalar Groovy

Paso 4) Lanzamiento. En la pantalla de bienvenida, haga clic en SIGUIENTE

instalar Groovy

Paso 5) De acuerdo con los términos de la licencia.

instalar Groovy

Paso 6) Seleccione los componentes que desea instalar y haga clic en SIGUIENTE

instalar Groovy

Paso 7) Seleccione Directorio de instalación y haga clic en SIGUIENTE

instalar Groovy

Paso 8) Elija la carpeta del menú Inicio y haga clic en SIGUIENTE

instalar Groovy

Paso 9) Una vez finalizada la instalación, deje las rutas predeterminadas y haga clic en SIGUIENTE

instalar Groovy

Paso 10) Haga clic en Siguiente

instalar Groovy

Paso 11) En el menú Inicio buscar Groovy Consola

instalar Groovy

Groovy Hola mundo ejemplo

Considere que queremos imprimir una cadena simple "Hola mundo" en Java. El código para lograr la cadena. Groovy hola mundo sería

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

El código anterior es válido en ambos Java e Groovy as Groovy es un superconjunto de Java. Pero la ventaja con Groovy es que podemos eliminar la creación de clases, la creación de métodos públicos, etc. y lograr el mismo resultado con un código de una sola línea de la siguiente manera:

println "Hello World."

No hay necesidad de punto y coma

No hay necesidad de paréntesis

System.out.println se reduce a println

Groovy Variables

In Java, el enlace estático es obligatorio. Es decir, el tipo de variable debe declararse de antemano.

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

En el ejemplo anterior de este Groovy En el tutorial, el tipo de variable (entero) se declara de antemano utilizando la palabra clave "int". Si tuviera que declarar un número de punto flotante, utilizaría la palabra clave float.

Si intenta asignar un valor de cadena a un int (descomente la línea n.° 5), obtendrá el siguiente error

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

A diferencia de, Groovy admite escritura dinámica. Las variables se definen utilizando la palabra clave "def" y no es necesario declarar el tipo de variable de antemano. El compilador descubre el tipo de variable en tiempo de ejecución y usted puede incluso determinar el tipo de variable.

Consideremos el siguiente ejemplo fantástico:

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

Salida:

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

In Groovy, puede crear cadenas de varias líneas. Solo asegúrese de incluir la cadena entre comillas triples.

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

Salida:

Groovy
at
Guru99

Nota: Aún puedes usar tipos de variables como byte, short, int, long, etc. Groovy. Pero no puede cambiar dinámicamente el tipo de variable como lo ha declarado explícitamente.

Considere el siguiente código:

int x = 104
println x
x = "Guru99"

Da el siguiente error

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

Un operador es un símbolo que le dice al compilador que realice ciertas manipulaciones matemáticas o lógicas.

Groovy tiene los siguientes cinco tipos de operadores:

  • Operadores aritméticos: Suma (+), Resta (-), Multiplicación (*), División(/)
  • Operadores relacionales: igual a (==), no igual a (!=), Less que (<) Less mayor o igual a (<=), mayor que (>), mayor o igual a (>=)
  • Operadores lógicos: Y (&&), O(||), No(!)
  • Operadores bit a bit: And(&), Or(|), (^), Xor u operador exclusivo-or
  • Operadores de asignación: Operador de negación (~)

Groovy-Bucles

In Java, definirías un bucle de la siguiente manera

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

Salida:

0
1
2
3
4

Puede lograr el mismo resultado en Groovy usando hasta palabras clave

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

Obtienes el mismo resultado que el anterior. $es un cierre que da el valor del bucle actual.

Considere el siguiente código

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

Da una salida

2
3
4

También puede utilizar la palabra clave "veces" para obtener el mismo resultado.

5.times{println "$it"}

Considere que desea imprimir 0,2,4 con para bucle en Java

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

Salida:

0
2
4

Puedes usar el método paso a paso para lo mismo.

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

Groovy- Toma de decisiones

Declaraciones Decepción
si declaración Como en Java, la declaración if se ejecuta si la condición es verdadera.
Declaración si/si no En la declaración if/else, al principio se evalúa una condición en la declaración if. Si la condición es verdadera, ejecuta las declaraciones posteriores. Se detiene antes de la condición else y sale del bucle. Sin embargo, si la condición es falsa, ejecuta las declaraciones en el bloque de declaraciones else. Luego sale del bucle.
Declaración If anidada Se utiliza cuando es necesario tener varias declaraciones if.
Declaración de cambio La declaración if-else anidada puede volverse ilegible cuando existen múltiples condiciones. Para que el código sea más legible, se utiliza la declaración switch.
Declaración de cambio anidado In Groovy También es posible utilizar declaraciones de cambio anidadas.

Groovy Lista

La estructura de lista le permite almacenar una colección de elementos de datos. en un Groovy Lenguaje de programación: la lista contiene una secuencia de referencias de objetos. También muestra una posición en la secuencia. Una literal de lista se presenta como una serie de objetos separados por comas y encerrados entre corchetes.

Ejemplo de lista de Grrovy:

Una lista de cadenas- ['Angular', 'Nodejs,]

Una lista de referencias de objetos – ['Groovy', 2,4 2.6]

Una lista de valores enteros – [16, 17, 18, 19]

Una lista vacía- [ ]

A continuación se muestran los métodos de lista disponibles en Groovy:

Métodos Descripción original
añadir() Le permite agregar el nuevo valor al final de esta Lista.
contiene () Devuelve verdadero si esta Lista contiene un valor determinado.
get () Devuelve el elemento en la posición definida.
esta vacio() Devuelve valor verdadero si la Lista no contiene elementos
menos() Este comando le permite crear una nueva Lista compuesta por los elementos del original excluyendo aquellos que están especificados en la colección.
más() Le permite crear una nueva Lista compuesta por los elementos del original junto con los mencionados en la colección.
popular() Elimina el último elemento de la lista.
eliminar() Elimina el elemento en la posición específica.
contrarrestar () Cree una nueva Lista que invierta los elementos de la Lista original
Talla() Devuelve el número de elementos de esta lista.
ordenar() Devuelve una copia ordenada

Considera lo siguiente Groovy ejemplo de guión

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

Salida:

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

Groovy Mapas

Un mapa Groovy es una colección de pares clave-valor

Ejemplos de Groovy mapas:

  • [Tutorial:'Java, Tutorial: 'Groovy] – Colección de pares clave-valor que tiene Tutorial como clave y sus respectivos valores
  • [:] Representa un mapa vacío

Aquí hay una lista de métodos de mapas disponibles en Groovy.

Métodos Descripción original
contiene clave() ¿Comprueba que el mapa contiene esta clave o no?
get () Este comando busca la clave en este mapa y devuelve el valor correspondiente. Si no encuentra ninguna entrada en este mapa, devolverá nulo.
juego de llaves() Permite encontrar un juego de claves en este Mapa.
poner() Asocia el valor especificado con la clave proporcionada en este mapa. Si el mapa anteriormente contenía una asignación para esta clave. Luego, el valor anterior será reemplazado por el valor especificado.
Talla() Devuelve el número de asignaciones clave-valor.
valores () Este comando devuelve una vista de colección de los valores.

Groovy Ejemplo:

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

Salida

Jen

Groovy- Cierres

Un cierre maravilloso es un fragmento de código envuelto como un objeto. Actúa como un método o una función.

Ejemplo de cierre simple

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

Salida:

My First Closure

Un cierre puede aceptar parámetros. La lista de identificaciones está separada por comas

una flecha (->) que marca el final de la lista de parámetros.

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

Salida:

6

Un cierre puede devolver un valor.

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

Salida:

6

Hay muchos cierres integrados como "Eso", "identidad", etc. Los cierres pueden tomar otros cierres como parámetros.

Groovy Vs. Java

Groovy Java
In Groovy, el especificador de acceso predeterminado es público. Significa que un método sin ningún modificador de acceso especificado es público y accesible fuera de los límites de la clase y el paquete. In Java, el modificador de acceso predeterminado es un paquete, es decir, si no especifica un modificador de acceso para campos, métodos o clases, se convierte en paquete privado.
Los captadores y definidores se generan automáticamente para los miembros de la clase. Java, necesita definir el método getter y setter para los campos
Groovy permite la sustitución de variables utilizando comillas dobles con cadenas. Java no admite la sustitución de variables.
Escribir información es opcional. Es obligatorio escribir información en Java.
Groovy no es necesario que termine con punto y coma. In Java, cada declaración termina con un punto y coma.
Groovy es automáticamente una clase envolvente llamada Script para cada programa In Java, necesitas el método principal para hacer que una clase sea ejecutable.

Mitos sobre Groovy

Myth Realidad
Podemos utilizar Groovy sólo para secuencias de comandos. Se puede utilizar para secuencias de comandos. Sin embargo, puedes realizar muchas otras tareas además de esto.
Groovy Se trata de cierres. “Es sólo lenguaje de programación funcional." Groovy Adopta lenguajes de programación funcionales como Lisp o Closure.
Groovy es una opción ideal si quieres hacer TDD Esta afirmación es cierta. Sin embargo, ciertamente no es la única razón para utilizar Groovy.
Puedes usar Groovy sólo si quieres utilizar Grails. Grails es un poderoso marco de desarrollo web.

Pero Groovy ofrece más que eso.

Contras de usar Groovy

  • JVM y Groovy el tiempo de inicio del script es lento, lo que limita el scripting a nivel del sistema operativo
  • Groovy no es del todo aceptado en otras comunidades.
  • No es cómodo de usar Groovy sin usar IDE
  • Groovy Puede ser más lento, lo que aumenta el tiempo de desarrollo.
  • Groovy puede necesitar mucha memoria
  • El conocimiento de Java Es imprescindible.

Groovy Herramientas

Discutiremos 3 herramientas importantes en este Groovy tutorial de guión

1. groovysh: ejecuta código de forma interactiva.

2. groovyConsole: GUI para ejecución de código interactivo

3. maravilloso: ejecuta scripts maravillosos. Puedes usarlo como Perl, Python, etc.

Groovysh

  • shell de línea de comandos
  • Te ayuda a ejecutar Groovy codificar interactivamente
  • Permite ingresar declaraciones o guiones completos.

Groovy Herramientas

Groovy un mueble consola

  • Interfaz Swing que actúa como un mínimo Groovy editor de desarrollo.
  • Le permite interactuar Groovy código
  • Te ayuda a cargar y ejecutar. Groovy archivos de script

Groovy Herramientas

Groovy

Es el procesador el que ejecuta Groovy programas y guiones. Ud.

Se puede utilizar para realizar pruebas sencillas. Groovy expresiones

Groovy Herramientas

Resum

  • Groovy es un lenguaje de programación orientado a objetos utilizado para Java gratuita.
  • Groovy La creación de scripts ofrece una integración perfecta con todos los sistemas existentes. Java objetos y bibliotecas
  • bob mcWhirter & James Strachan desarrollaron groovy en 2003
  • Los literales de lista, mapa, rango y expresión regular son características importantes de Groovy
  • Cuatro tipos de operadores soportados por Groovy son 1. Relacionales 2. Lógicas 3. Bit a bit 4. Asignación
  • Groovy realizó la toma de decisiones usando declaraciones if, if/else, Nested if, switch, Netsted switch
  • La estructura de lista le permite almacenar una colección de elementos de datos
  • Un mapa Groovy es una colección de pares clave-valor
  • In Groovy, Los captadores y definidores se generan automáticamente para los miembros de la clase.
  • In Java, puede utilizar el método de obtención y configuración para los campos
  • El mayor mito sobre Groovy es que sólo se puede utilizar para secuencias de comandos, lo cual no es correcto
  • A veces Groovy Puede ser más lento, lo que aumenta el tiempo de desarrollo.
  • Tres puestos Groovy Las herramientas son: groovysh que ejecuta código, groovy Console que es una GUI para ejecución de código interactivo y groovy que ejecuta scripts.