📢 Enterprise v4.7.2 Released

Enhanced AI SQL Writing feature, supports generating dynamic SQL

Skip to content

Sintaxe Comum do Groovy ​

O Groovy é uma linguagem de programação flexível baseada na plataforma Java, que combina muitas características poderosas de Python, Ruby e Smalltalk. A seguir estão algumas sintaxes comuns do Groovy para ajudá-lo a começar rapidamente.

Declaração de Variáveis ​

No Groovy, a declaração de variáveis pode ser feita usando a palavra‑chave def ou especificando explicitamente o tipo.

groovy
// Usando a palavra‑chave def
def name = "Groovy"

// Especificando explicitamente o tipo
String greeting = "Hello, ${name}!"

Tipos de Dados ​

O Groovy suporta diversos tipos de dados, incluindo inteiros, ponto flutuante, booleanos e strings, entre outros.

groovy
def a = 10          // Inteiro
def b = 10.5        // Ponto flutuante
def c = true        // Booleano
def d = "Groovy"    // String

Operações Lógicas ​

O Groovy oferece operadores lógicos como && (e), || (ou) e ! (não).

groovy
def a = 10
def b = 20

if (a > 0 && b > 0) {
    println "Ambos os números são positivos"
} else if (a > 0 || b > 0) {
    println "Pelo menos um número é positivo"
} else {
    println "Ambos os números não são positivos"
}

Estruturas Condicionais ​

O Groovy suporta estruturas condicionais if-else e switch.

groovy
def number = 10
if (number > 0) {
    println "O número é positivo"
} else {
    println "O número não é positivo"
}

switch (number) {
    case 0:
        println "O número é zero"
        break
    case { it > 0 }:
        println "O número é positivo"
        break
    default:
        println "O número é negativo"
}

Estruturas de Repetição ​

O Groovy suporta loops for, while e do-while.

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

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

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

Strings ​

Concatenação de Strings ​

No Groovy, é possível concatenar strings utilizando o operador + ou a sintaxe ${}.

groovy
def name = "Groovy"
def greeting = "Hello, " + name + "!"
println greeting  // Saída: Hello, Groovy!

def greeting2 = "Hello, ${name}!"
println greeting2  // Saída: Hello, Groovy!

Corte de Strings ​

É possível utilizar o método substring para extrair partes de uma string.

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

Substituição de Strings ​

O método replace permite substituir parte de uma string por outra.

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

Divisão de Strings ​

O método split divide uma string em uma lista.

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

Divisão e Extração de Valores ​

O método tokenize divide uma string em uma lista e permite acessar elementos específicos via índice.

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

Remoção de Espaços em Branco ​

O método trim remove espaços em branco das extremidades de uma string.

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

Comprimento de uma String ​

A propriedade length retorna o comprimento de uma string.

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

Verificação de Conteúdo ​

O método contains verifica se uma string contém determinado subtexto.

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

Busca em Strings ​

O método indexOf encontra a posição de um subtexto dentro de uma string.

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

Comparação de Strings ​

Operadores como ==, !=, <, >, <= e >= permitem comparar strings.

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

Escape de Caracteres ​

O caractere \ é utilizado para escapar caracteres especiais, como \n para nova linha.

groovy
def str = "Hello,\nGroovy!"
println str  // Saída: Hello,
             // Groovy!

Templates de Strings ​

O Groovy permite inserir variáveis em strings utilizando a sintaxe ${}.

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

Expressões Regulares ​

O operador ==~ permite realizar correspondências regulares.

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

Strings Multilinha ​

Strings multilinha podem ser definidas utilizando três aspas """ ou '''.

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

Listas (List) ​

No Groovy, listas são estruturas de dados muito utilizadas, podendo conter elementos de diferentes tipos. Abaixo estão algumas operações comuns de listas no Groovy.

Definição de Listas ​

Uma lista pode ser definida utilizando colchetes [].

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

Acesso a Elementos de uma Lista ​

Os elementos de uma lista podem ser acessados por meio de índices, iniciando em 0.

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

Alteração de Elementos ​

É possível modificar elementos de uma lista através de seus índices.

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

Adição de Elementos ​

Elementos podem ser adicionados à lista utilizando o método add ou o operador de deslocamento à esquerda <<.

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

list << 5
println list  // Saída: [1, 2, 3, 4, 5]

Remoção de Elementos ​

Elementos podem ser removidos da lista utilizando o método remove.

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

Tamanho de uma Lista ​

O método size retorna o tamanho de uma lista.

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

Iteração sobre uma Lista ​

É possível percorrer os elementos de uma lista utilizando um loop for.

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

Também é possível usar o método each para iterar sobre os elementos.

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

Conversão de Listas ​

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

Filtragem de Listas ​

find

Retorna o primeiro elemento que atende a uma condição.

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

findAll

Retorna uma nova lista contendo todos os elementos que atendem à condição.

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

Verificação de Condições em Listas ​

any

Verifica se pelo menos um elemento atende à condição.

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

every

Verifica se todos os elementos atendem à condição.

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

Corte de Partes de uma Lista ​

É possível obter uma parte de uma lista utilizando o método subList.

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

Ordenação de Listas ​

A ordenação de listas pode ser realizada utilizando o método sort.

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

Reversão de Listas ​

A reversão de listas pode ser feita utilizando o método reverse.

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

Verificação de Existência de Elementos ​

O método contains verifica se uma lista contém determinado elemento.

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

Concatenação de Listas ​

É possível concatenar duas listas utilizando o método plus ou o operador +.

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

Limpeza de Listas ​

A limpeza de listas pode ser realizada utilizando o método clear.

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

Mapas (Map) ​

No Groovy, mapas são estruturas de dados amplamente utilizadas para armazenar pares chave‑valor. A seguir estão algumas operações comuns com mapas no Groovy.

Definição de Mapas ​

Um mapa pode ser definido utilizando colchetes [:] ou chaves {}.

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

Acesso a Elementos de um Mapa ​

Os valores de um mapa podem ser acessados por meio de suas chaves.

groovy
def map = ["name": "Groovy", "version": 2.5]
println map["name"]  // Saída: Groovy

Alteração de Elementos de um Mapa ​

É possível modificar os valores de um mapa diretamente por meio de suas chaves.

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

Adição de Elementos ​

Elementos podem ser adicionados a um mapa utilizando o método put ou atribuindo‑se diretamente um valor.

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

map["author"] = "James"
println map  // Saída: [name:Groovy, version:2.5, author:James]

Remoção de Elementos ​

Elementos podem ser removidos de um mapa utilizando o método remove.

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


println map  // Saída: [name:Groovy]

Tamanho do mapa ​

É possível usar o método size para obter o tamanho do mapa.

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

Iteração sobre o mapa ​

Pode-se utilizar o método each para percorrer os pares chave‑valor do mapa.

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

Verificação de chaves ou valores ​

Os métodos containsKey e containsValue permitem verificar se um determinado mapa contém uma chave ou valor específico.

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

Limpar o mapa ​

O método clear pode ser usado para limpar todo o conteúdo do mapa.

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

Mesclar mapas ​

O método putAll permite adicionar todos os elementos de um mapa a outro.

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

Obter todas as chaves ou valores ​

Os métodos keySet e values permitem recuperar todas as chaves ou valores presentes no mapa.

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

Funções ​

No Groovy, as funções são chamadas de métodos e podem ser definidas dentro de classes ou como parte de scripts. A seguir estão algumas sintaxes comuns para definir e chamar funções em Groovy.

Definindo funções ​

Uma função pode ser definida usando a palavra‑chave def.

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

Chamando funções ​

Após definir uma função, ela pode ser invocada pelo seu nome e parâmetros.

groovy
def result = greet("Groovy")
println result  // Saída: Hello, Groovy!

Funções com parâmetros padrão ​

É possível atribuir valores padrão aos parâmetros ao definir uma função.

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

println greet()        // Saída: Hello, World!
println greet("Groovy") // Saída: Hello, Groovy!

Funções com múltiplos parâmetros ​

É possível definir funções que aceitam vários parâmetros.

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

println add(3, 5)  // Saída: 8

Funções anônimas ​

Funções anônimas podem ser definidas e atribuídas a variáveis ou passadas como argumentos.

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

Funções com parâmetros variáveis ​

É possível definir funções que aceitam um número variável de parâmetros.

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

println sum(1, 2, 3, 4)  // Saída: 10

Funções que recebem closures ​

É possível definir funções que aceitam closures como argumentos.

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

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

Funções que retornam múltiplos valores ​

É possível definir funções que retornam mais de um valor; esses valores serão agrupados em uma lista.

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

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

Funções recursivas ​

É possível definir funções recursivas, ou seja, funções que se chamam a si mesmas.

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

println factorial(5)  // Saída: 120