📢 Enterprise v4.7.2 Released

Enhanced AI SQL Writing feature, supports generating dynamic SQL

Skip to content

Sintaxis común de Groovy

Groovy es un lenguaje de programación flexible basado en la plataforma Java, que combina muchas características poderosas de Python, Ruby y Smalltalk. A continuación se presentan algunas sintaxis comunes de Groovy para ayudarte a comenzar rápidamente.

Declaración de variables

En Groovy, las variables pueden declararse utilizando la palabra clave def, o bien especificando explícitamente el tipo.

groovy
// Usando la palabra clave def
def name = "Groovy"

// Especificando el tipo de forma explícita
String greeting = "Hello, ${name}!"

Tipos de datos

Groovy admite varios tipos de datos, incluyendo enteros, flotantes, booleanos y cadenas, entre otros.

groovy
def a = 10          // Entero
def b = 10.5        // Flotante
def c = true        // Booleano
def d = "Groovy"    // Cadena

Operaciones lógicas

Groovy soporta operadores lógicos como && (y lógico), || (o lógico) y ! (no lógico).

groovy
def a = 10
def b = 20

if (a > 0 && b > 0) {
    println "Ambos números son positivos"
} else if (a > 0 || b > 0) {
    println "Al menos un número es positivo"
} else {
    println "Ambos números son no positivos"
}

Sentencias condicionales

Groovy admite sentencias condicionales if-else y switch.

groovy
def number = 10
if (number > 0) {
    println "El número es positivo"
} else {
    println "El número es no positivo"
}

switch (number) {
    case 0:
        println "El número es cero"
        break
    case { it > 0 }:
        println "El número es positivo"
        break
    default:
        println "El número es negativo"
}

Bucles

Groovy soporta bucles for, while y do-while.

groovy
// Bucle for
for (i in 0..9) {
    println i
}

// Bucle while
def i = 0
while (i < 10) {
    println i++
}

// Bucle do-while
def j = 0
do {
    println j++
} while (j < 10)

Cadenas de texto

Concatenación de cadenas

En Groovy, se puede utilizar el operador + o la sintaxis ${} para concatenar cadenas.

groovy
def name = "Groovy"
def greeting = "Hello, " + name + "!"
println greeting  // Salida: Hello, Groovy!

def greeting2 = "Hello, ${name}!"
println greeting2  // Salida: Hello, Groovy!

Cortar cadenas

Se puede usar el método substring para extraer una parte de una cadena.

groovy
def str = "Hello, Groovy!"
println str.substring(7)  // Salida: Groovy!
println str.substring(0, 5)  // Salida: Hello

Reemplazar cadenas

El método replace permite sustituir partes de una cadena.

groovy
def str = "Hello, Groovy!"
println str.replace("Groovy", "Java")  // Salida: Hello, Java!

Dividir cadenas

El método split permite dividir una cadena en un arreglo.

groovy
def str = "Hello, Groovy!"
def parts = str.split(", ")
println parts[0]  // Salida: Hello
println parts[1]  // Salida: Groovy!

Dividir y obtener valores

El método tokenize divide una cadena en una lista y permite acceder a elementos específicos mediante índices.

groovy
def str = "Hello, Groovy!"
println str.tokenize(",")[1]  // Salida: Groovy!

Limpiar espacios en blanco

El método trim elimina los espacios en blanco al inicio y al final de una cadena.

groovy
def str = "  Hello, Groovy!  "
println str.trim()  // Salida: Hello, Groovy!

Longitud de una cadena

La propiedad length permite obtener la longitud de una cadena.

groovy
def str = "Hello, Groovy!"
println str.length()  // Salida: 14

Contenido dentro de una cadena

El método contains verifica si una cadena contiene otra subcadena.

groovy
def str = "Hello, Groovy!"
println str.contains("Groovy")  // Salida: true

Búsqueda en una cadena

El método indexOf encuentra la posición de una subcadena dentro de una cadena.

groovy
def str = "Hello, Groovy!"
println str.indexOf("Groovy")  // Salida: 7

Comparación de cadenas

Se pueden usar operadores como ==, !=, <, >, <= y >= para comparar cadenas.

groovy
def str1 = "Hello, Groovy!"
def str2 = "Hello, Java!"
println str1 == str2  // Salida: false
println str1 != str2  // Salida: true
println str1 < str2  // Salida: true
println str1 > str2  // Salida: false
println str1 <= str2  // Salida: true
println str1 >= str2  // Salida: false

Escape de caracteres

El carácter \ se utiliza para escapar caracteres especiales; por ejemplo, \n representa un salto de línea.

groovy
def str = "Hello,\nGroovy!"
println str  // Salida: Hello,
             // Groovy!

Plantillas de cadenas

Groovy admite la inserción de variables dentro de cadenas mediante la sintaxis ${}.

groovy
def name = "Groovy"
def greeting = "Hello, ${name}!"
println greeting  // Salida: Hello, Groovy!

Validación mediante expresiones regulares

Se puede usar el operador ==~ para realizar coincidencias con expresiones regulares.

groovy
def emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
def str = "google@163.com"
println str ==~ emailPattern  // Salida: true

Cadenas multilínea

Se pueden definir cadenas multilínea utilizando tres comillas """ o '''.

groovy
def multiLineStr = """
    This is a multi-line
    string in Groovy.
"""
println multiLineStr

Listas

En Groovy, las listas son una estructura de datos muy utilizada y pueden contener elementos de diferentes tipos. A continuación se presentan algunas sintaxis comunes para trabajar con listas en Groovy.

Definir una lista

Se puede definir una lista utilizando corchetes [].

groovy
def list = [1, 2, 3, 'Groovy', true]

Acceder a elementos de una lista

Los elementos de una lista se acceden mediante su índice, que comienza en 0.

groovy
def list = [1, 2, 3, 'Groovy', true]
println list[3]  // Salida: Groovy

Modificar elementos de una lista

Se pueden modificar los elementos de una lista mediante su índice.

groovy
def list = [1, 2, 3, 'Groovy', true]
list[3] = 'Java'
println list  // Salida: [1, 2, 3, 'Java', true]

Agregar elementos

Se pueden añadir elementos a una lista utilizando el método add o el operador de desplazamiento a la izquierda <<.

groovy
def list = [1, 2, 3]
list.add(4)
println list  // Salida: [1, 2, 3, 4]

list << 5
println list  // Salida: [1, 2, 3, 4, 5]

Eliminar elementos

Se pueden eliminar elementos de una lista utilizando el método remove.

groovy
def list = [1, 2, 3, 4, 5]
list.remove(0)
println list  // Salida: [2, 3, 4, 5]

Obtener la longitud de una lista

Se puede obtener la longitud de una lista utilizando el método size.

groovy
def list = [1, 2, 3, 4, 5]
println list.size()   // Salida: 5

Recorrer una lista

Se puede recorrer una lista utilizando un bucle for.

groovy
def list = [1, 2, 3, 4, 5]
for (item in list) {
    println item
}

También se puede utilizar el método each para recorrer los elementos de una lista.

groovy
def list = [1, 2, 3, 4, 5]
list.each { println it }

Transformar una lista

groovy
def list = [1, 2, 3, 4, 5]
def newList = list.collect { it * 2 }
println newList  // Salida: [2, 4, 6, 8, 10]

Filtrar una lista

find

Devuelve el primer elemento que cumple la condición.

groovy
def list = [1, 2, 3, 4, 5]
println list.find { it % 2 == 0 }  // Salida: 2

findAll

Devuelve una nueva lista con todos los elementos que cumplen la condición.

groovy
def list = [1, 2, 3, 4, 5]
def newList = list.findAll { it % 2 == 0 }
println newList  // Salida: [2, 4]

Comprobar si una lista coincide con una condición

any

Verifica si al menos un elemento cumple la condición.

groovy
def list = [1, 2, 3, 4, 5]
println list.any { it % 2 == 0 }  // Salida: true

every

Verifica si todos los elementos cumplen la condición.

groovy
def list = [1, 2, 3, 4, 5]
println list.every { it % 2 == 0 }  // Salida: false

Cortar una lista

Se puede obtener una parte de una lista utilizando el método subList.

groovy
def list = [1, 2, 3, 4, 5]
println list.subList(1, 4)  // Salida: [2, 3, 4]

Ordenar una lista

Se puede ordenar una lista utilizando el método sort.

groovy
def list = [3, 1, 4, 2, 5]
println list.sort()  // Salida: [1, 2, 3, 4, 5]

Invertir una lista

Se puede invertir una lista utilizando el método reverse.

groovy
def list = [1, 2, 3, 4, 5]
println list.reverse()  // Salida: [5, 4, 3, 2, 1]

Verificar si una lista contiene un elemento

Se puede verificar si una lista contiene un elemento utilizando el método contains.

groovy
def list = [1, 2, 3, 4, 5]
println list.contains(3)  // Salida: true
println list.contains(6)  // Salida: false

Concatenar dos listas

Se puede concatenar dos listas utilizando el método plus o el operador +.

groovy
def list1 = [1, 2, 3]
def list2 = [4, 5, 6]
println list1.plus(list2)  // Salida: [1, 2, 3, 4, 5, 6]
println list1 + list2      // Salida: [1, 2, 3, 4, 5, 6]

Vaciar una lista

Se puede vaciar una lista utilizando el método clear.

groovy
def list = [1, 2, 3, 4, 5]
list.clear()
println list  // Salida: []

Mapas

En Groovy, los mapas son una estructura de datos muy utilizada para almacenar pares clave-valor. A continuación se presentan algunas sintaxis comunes para trabajar con mapas en Groovy.

Definir un mapa

Se puede definir un mapa utilizando corchetes [:] o llaves {}.

groovy
def map = [:]
map = ["name": "Groovy", "version": 2.5]

Acceder a los valores de un mapa

Se puede acceder a los valores de un mapa mediante su clave.

groovy
def map = ["name": "Groovy", "version": 2.5]
println map["name"]  // Salida: Groovy

Modificar los valores de un mapa

Se pueden modificar los valores de un mapa mediante su clave.

groovy
def map = ["name": "Groovy", "version": 2.5]
map["name"] = "Java"
println map  // Salida: [name:Java, version:2.5]

Agregar elementos

Se pueden agregar elementos a un mapa utilizando el método put o asignando directamente un valor.

groovy
def map = ["name": "Groovy"]
map.put("version", 2.5)
println map  // Salida: [name:Groovy, version:2.5]

map["author"] = "James"
println map  // Salida: [name:Groovy, version:2.5, author:James]

Eliminar elementos

Se pueden eliminar elementos de un mapa utilizando el método remove.

groovy
def map = ["name": "Groovy", "version": 2.5]
map.remove("version")


println map  // Salida: [name:Groovy]

Tamaño del mapa

Se puede utilizar el método size para obtener el tamaño del mapa.

groovy
def map = ["name": "Groovy", "version": 2.5]
println map.size()  // Salida: 2

Iterar sobre el mapa

Se puede usar el método each para recorrer los pares clave-valor del mapa.

groovy
def map = ["name": "Groovy", "version": 2.5]
map.each { key, value ->
    println "${key}: ${value}"
}

Comprobar una clave o un valor

Se pueden utilizar los métodos containsKey y containsValue para verificar si el mapa contiene cierta clave o valor.

groovy
def map = ["name": "Groovy", "version": 2.5]
println map.containsKey("name")  // Salida: true
println map.containsValue(2.5)  // Salida: true

Vaciar el mapa

El método clear permite vaciar el mapa.

groovy
def map = ["name": "Groovy", "version": 2.5]
map.clear()
println map  // Salida: [:]

Combinar mapas

El método putAll permite fusionar todos los elementos de un mapa en otro.

groovy
def map1 = ["name": "Groovy"]
def map2 = ["version": 2.5]
map1.putAll(map2)
println map1  // Salida: [name:Groovy, version:2.5]

Obtener todas las claves o todos los valores

Los métodos keySet y values permiten extraer todas las claves o todos los valores del mapa.

groovy
def map = ["name": "Groovy", "version": 2.5]
println map.keySet()  // Salida: [name, version]
println map.values()  // Salida: [Groovy, 2.5]

Funciones

En Groovy, las funciones se denominan métodos y pueden definirse dentro de una clase o como parte de un script. A continuación se presentan algunas sintaxis comunes para definir y llamar a funciones en Groovy.

Definir una función

Se puede definir una función utilizando la palabra clave def.

groovy
def greet(name) {
    return "Hello, ${name}!"
}

Llamar a una función

Una vez definida la función, se puede invocar mediante su nombre y los argumentos correspondientes.

groovy
def result = greet("Groovy")
println result  // Salida: Hello, Groovy!

Función con parámetros por defecto

Es posible establecer valores predeterminados para los parámetros al definir la función.

groovy
def greet(name = "World") {
    return "Hello, ${name}!"
}

println greet()        // Salida: Hello, World!
println greet("Groovy") // Salida: Hello, Groovy!

Función con múltiples parámetros

Se pueden definir funciones que aceptan varios argumentos.

groovy
def add(a, b) {
    return a + b
}

println add(3, 5)  // Salida: 8

Función anónima

Se pueden definir funciones anónimas y asignarlas a variables o pasarlas como argumentos.

groovy
def multiply = { a, b -> a * b }
println multiply(3, 5)  // Salida: 15

Función con parámetros variados

Es posible definir funciones que acepten un número variable de argumentos.

groovy
def sum(... numbers) {
    def total = 0
    for (number in numbers) {
        total += number
    }
    return total
}

println sum(1, 2, 3, 4)  // Salida: 10

Función que acepta cierres

Se pueden definir funciones que toman cierres (Closure) como argumentos.

groovy
def operate(a, b, closure) {
    return closure(a, b)
}

def add = { x, y -> x + y }
println operate(3, 5, add)  // Salida: 8

Función que devuelve múltiples valores

Se pueden definir funciones que devuelven varios valores; estos valores se agrupan en una lista.

groovy
def getCoordinates() {
    return [10, 20]
}

def (x, y) = getCoordinates()
println "x: ${x}, y: ${y}"  // Salida: x: 10, y: 20

Función recursiva

Es posible definir funciones recursivas, es decir, que se llaman a sí mismas dentro de su propio cuerpo.

groovy
def factorial(n) {
    if (n <= 1) {
        return 1
    } else {
        return n * factorial(n - 1)
    }
}

println factorial(5)  // Salida: 120