Groovy Tutorial de script para iniciantes

O que é uma Groovy Roteiro?

apache Groovy é orientado a objetos e Java linguagem de programação compatível com sintaxe construída para o Java plataforma. Esta linguagem dinâmica possui muitos recursos semelhantes aos Python, Ruby, Smalltalk e Pero. Groovy o código fonte é compilado em Java Bytecode para que possa ser executado em qualquer plataforma que tenha o JRE instalado. Groovy também realiza diversas tarefas nos bastidores, o que o torna mais ágil e dinâmico.

Groovy linguagem pode ser usada como uma linguagem de script para o Java plataforma. É quase como uma super versão do Java que oferece Javacapacidades empresariais. Ele também oferece muitos recursos de produtividade, como suporte DSL, fechamentos e digitação dinâmica. Ao contrário de algumas outras linguagens, ele foi projetado como um complemento, não como um substituto. Java.

Sua marca Groovy?

Aqui estão os principais motivos pelos quais você deve usar e aprender Groovy-

  • Groovy é uma linguagem ágil e dinâmica
  • Integração perfeita com todos os existentes Java objetos e bibliotecas
  • Parece fácil e natural de Java desenvolvedores
  • Código mais conciso e significativo em comparação com Java
  • Você pode usá-lo o quanto quiser com Java Aplicativos

Groovy História

  • 2003: Desenvolvido por Bob McWhirter e James Strachan
  • 2004: Comissionado no JSR 241, mas foi abandonado
  • 2005: Trazido de volta por Jeremy Rayner e Guillaume Laforge
  • 2007: Groovy versão 1.0
  • 2012: Groovy versão 2
  • 2014: Groovy versão 2.3 (suporte oficial dado para JDK 8)
  • 2015: Groovy tornou-se um projeto na Apache Software Foundation

Características do Groovy

  • Lista, mapa, intervalo, literais de expressão regular
  • Multimétodo e metaprogramação
  • Groovy classes e scripts geralmente são armazenados em arquivos .groovy
  • Os scripts contêm Groovy declarações sem qualquer declaração de classe.
  • Os scripts também podem conter definições de métodos fora das definições de classe.
  • Ele pode ser compilado e totalmente integrado com os tradicionais Java aplicação.
  • Suporte de nível de idioma para mapas, listas e expressões regulares
  • Suporta fechamentos, digitação dinâmica, protocolo de metaobjeto
  • Suporte para digitação estática e dinâmica e sobrecarga de operador
  • Declaração literal para listas (matrizes), mapas, intervalos e expressões regulares

Como instalar Groovy

Passo 1) Certifique-se de ter Java instalado.

Passo 2) Acesse http://groovy-lang.org/download.html e clique em instalador.

instalar Groovy

Nota: Você também pode instalar Groovy usando o arquivo Zip ou como um Eclipse IDE. Neste Groovy tutorial, vamos nos ater a Windows Instalar

Passo 3) Inicie o instalador baixado. Selecione o idioma e clique em OK

instalar Groovy

Passo 4) Lançar. Na tela de boas-vindas, clique em PRÓXIMO

instalar Groovy

Passo 5) Concorde com os termos da licença

instalar Groovy

Passo 6) Selecione os componentes que deseja instalar e clique em PRÓXIMO

instalar Groovy

Passo 7) Selecione Diretório de instalação e clique em PRÓXIMO

instalar Groovy

Passo 8) Escolha a pasta do menu Iniciar e clique em PRÓXIMO

instalar Groovy

Passo 9) Assim que a instalação estiver concluída, deixe os caminhos padrão e clique em PRÓXIMO

instalar Groovy

Passo 10) Clique em NEXT

instalar Groovy

Passo 11) No menu Iniciar procure por Groovy cônsul

instalar Groovy

Groovy Exemplo Olá Mundo

Considere que queremos imprimir uma string simples “Hello World” em Java. O código para obter a string Groovy olá mundo seria

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

O código acima é válido em ambos Java e Groovy as Groovy é um superconjunto de Java. Mas a vantagem com Groovy é que podemos eliminar a criação de classes, a criação de métodos públicos, etc. e obter a mesma saída com um código de linha única, como segue:

println "Hello World."

Não há necessidade de ponto e vírgula

Não há necessidade de parênteses

System.out.println é reduzido para println

Groovy Variáveis

In Java, a vinculação estática é obrigatória. Significa que o tipo de uma variável deve ser declarado antecipadamente.

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

No exemplo acima disso Groovy tutorial, o tipo de variável (inteiro) é declarado antecipadamente usando a palavra-chave “int”. Se você fosse declarar um número de ponto flutuante, usaria a palavra-chave float.

Se você tentar atribuir um valor String a um int (remova o comentário da linha 5), ​​receberá o seguinte erro

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

Em contraste, Groovy suporta digitação dinâmica. As variáveis ​​são definidas usando a palavra-chave “def” e o tipo de variável não precisa ser declarado antecipadamente. O compilador descobre o tipo de variável em tempo de execução e você pode até mesmo o tipo de variável.

Considere o seguinte exemplo interessante,

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

Saída:

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

In Groovy, você pode criar strings multilinhas. Apenas certifique-se de colocar a String entre aspas triplas.

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

Saída:

Groovy
at
Guru99

Note: Você ainda pode usar tipos de variáveis ​​como byte, short, int, long, etc. Groovy. Mas você não pode alterar dinamicamente o tipo de variável, pois o declarou explicitamente.

Considere o seguinte código:

int x = 104
println x
x = "Guru99"

Dá o seguinte erro

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

Um operador é um símbolo que informa ao compilador para fazer certas manipulações matemáticas ou lógicas.

Groovy tem os seguintes cinco tipos de operadores –

  • Operadores aritméticos: Somar (+), Subtrair (-), Multiplicação (*), Divisão (/)
  • Operadores relacionais: igual a (==), diferente de (!=), Less do que (<) Less maior ou igual a (<=), maior que (>), maior ou igual a (>=)
  • Operadores lógicos: E (&&), Ou(||), Não(!)
  • Operadores bit a bit: And(&), Or(|), (^), Xor ou operador Exclusive-or
  • Operadores de atribuição: Operador de negação (~)

Groovy-Rotações

In Java, você definiria um loop da seguinte maneira

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

Saída:

0
1
2
3
4

Você pode obter o mesmo resultado em Groovy usando até palavras-chave

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

Você obtém a mesma saída acima. $it é um encerramento que fornece o valor do loop atual.

Considere o seguinte código

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

Dá uma saída

2
3
4

Você também pode usar a palavra-chave “times” para obter o mesmo resultado

5.times{println "$it"}

Considere, você deseja imprimir 0,2,4 com para loop em Java

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

Saída:

0
2
4

Você pode usar o método step para o mesmo

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

Groovy- Tomando uma decisão

Demonstrações Engano
Se Declaração Como em Java, a instrução if será executada se a condição for verdadeira.
Declaração if/else Na instrução if/else, inicialmente uma condição é avaliada na instrução if. Se a condição for verdadeira, as instruções serão executadas depois disso. Ele para antes da condição else e sai do loop. No entanto, se a condição for falsa, as instruções no bloco de instruções else são executadas. Então ele sai do loop.
Instrução If aninhada É usado quando há um requisito para ter múltiplas instruções if.
Declaração de mudança A instrução if-else aninhada pode se tornar ilegível quando você tem diversas condições. Para tornar o código mais legível, a instrução switch é usada.
Instrução de switch aninhada In Groovy também é possível usar instruções switch aninhadas.

Groovy Lista

A estrutura da lista permite armazenar uma coleção de itens de dados. Em um Groovy linguagem de programação, a List contém uma sequência de referências de objetos. Ela também mostra uma posição na sequência. Um literal List é apresentado como uma série de objetos separados por vírgulas e colocados entre colchetes.

Exemplo de lista Grovy:

Uma lista de Strings- ['Angular', 'Nodejs,]

Uma lista de referências de objetos – ['Groovy', 2,4 2.6]

Uma lista de valores inteiros – [16, 17, 18, 19]

Uma lista vazia- [ ]

A seguir estão listados os métodos disponíveis em Groovy:

De Depósito Descrição
adicionar() Permite anexar o novo valor ao final desta lista.
contém () Retorna verdadeiro se esta lista contiver um determinado valor.
get() Retorna o elemento na posição definida
está vazia() Retorna o valor verdadeiro se a lista não contiver elementos
menos() Este comando permite criar uma nova Lista composta pelos elementos do original excluindo aqueles que estão especificados na coleção.
mais() Permite criar uma nova Lista composta pelos elementos do original juntamente com os mencionados na coleção.
pop () Remove o último item da lista
retirar() Remove o elemento na posição específica
marcha ré() Crie uma nova lista que inverte os elementos da lista original
Tamanho() Retorna o número de elementos desta lista
ordenar() Retorna uma cópia classificada

Considere o seguinte Groovy exemplo de roteiro

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

Saída:

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

Groovy mapas

Um mapa Groovy é uma coleção de pares de valores-chave

Exemplos de Groovy mapas:

  • [Tutorial: 'Java, Tutorial: 'Groovy] – Coleção de pares chave-valor que tem Tutorial como chave e seus respectivos valores
  • [:] Representa um mapa vazio

Aqui está uma lista de métodos de mapa disponíveis em Groovy.

De Depósito Descrição
contémKey() Verifique se o mapa contém esta chave ou não?
get() Este comando procura a chave neste Mapa e retorna o valor correspondente. Se você não encontrar nenhuma entrada neste mapa, ele retornará nulo.
conjunto de chaves() Permite encontrar um conjunto de chaves neste mapa
por() Associa o valor especificado à chave fornecida neste mapa. Se o Mapa continha anteriormente um mapeamento para esta chave. Então o valor antigo será substituído pelo valor especificado.
Tamanho() Retorna o número de mapeamentos de valores-chave.
valores () Este comando retorna uma visualização de coleção dos valores.

Groovy Exemplo:

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

saída

Jen

Groovy- Fechamentos

Um fechamento bacana é um pedaço de código agrupado como um objeto. Ele atua como um método ou uma função.

Exemplo de fechamento simples

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

Saída:

My First Closure

Um encerramento pode aceitar parâmetros. A lista de identificações é separada por vírgula com

uma seta (->) marcando o final da lista de parâmetros.

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

Saída:

6

Um fechamento pode retornar um valor.

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

Saída:

6

Existem muitos fechamentos integrados como “It”, “identidade”, etc. Os fechamentos podem receber outros fechamentos como parâmetros.

Groovy Vs. Java

Groovy Java
In Groovy, o especificador de acesso padrão é público. Isso significa que um método sem qualquer modificador de acesso especificado é público e acessível fora dos limites de classe e pacote. In Java, o modificador de acesso padrão é um pacote, ou seja, se você não especificar o modificador de acesso para campos, métodos ou classe, ele se tornará package-private,
Getters e setters são gerados automaticamente para os membros da classe. Java, você precisa definir o método getters e setters para campos
Groovy permite substituição de variáveis ​​usando aspas duplas com strings. Java não oferece suporte à substituição de variáveis.
A digitação de informações é opcional. A digitação de informações é obrigatória em Java.
Groovy não é necessário terminar com ponto e vírgula. In Java, toda instrução termina com ponto e vírgula.
Groovy é automaticamente uma classe de empacotamento chamada Script para cada programa In Java, você precisa do método main para tornar uma classe executável.

Mitos sobre Groovy

Mito Realidade
Podemos usar Groovy apenas para scripts. Ele pode ser usado para scripts. No entanto, você pode realizar muitas outras tarefas além dela.
Groovy é tudo sobre fechamentos. “É só linguagem de programação funcional. " Groovy adota linguagens de programação funcionais como Lisp ou Closure.
Groovy é a escolha ideal se você quiser fazer TDD Esta afirmação é verdadeira. No entanto, certamente não é a única razão para usar Groovy.
Você pode usar Groovy somente se você quiser usar Grails. Grails é uma poderosa estrutura de desenvolvimento web.

BUT Groovy oferece mais do que isso.

Contras de usar Groovy

  • JVM e Groovy o tempo de início do script é lento, o que limita os scripts no nível do sistema operacional
  • Groovy não é totalmente aceito em outras comunidades.
  • Não é conveniente usar Groovy sem usar IDE
  • Groovy pode ser mais lento, o que aumentou o tempo de desenvolvimento
  • Groovy pode precisar de muita memória
  • Conhecimento de Java é imperativo.

Groovy Ferramentas

Discutiremos 3 ferramentas importantes neste Groovy tutorial de roteiro

1. groovysh: Executa código de forma interativa.

2. groovyConsole: GUI para execução de código interativo

3. bacana: executa scripts bacanas. Você pode usá-lo como Perl, Python, etc.

Groovysh

  • shell de linha de comando
  • Ajuda você a executar Groovy codificar interativamente
  • Permite inserir declarações ou scripts inteiros

Groovy Ferramentas

Groovy consolá

  • Interface Swing que atua como um mínimo Groovy editor de desenvolvimento.
  • Permite que você interaja Groovy código
  • Ajuda você a carregar e executar Groovy arquivos de script

Groovy Ferramentas

Groovy

É o processador que executa Groovy programas e scripts. Você

Pode ser usado para testar simples Groovy expressões.

Groovy Ferramentas

Resumo

  • Groovy é uma linguagem de programação orientada a objetos usada para Java plataforma
  • Groovy o script oferece integração perfeita com todos os existentes Java objetos e bibliotecas
  • Bob McWhirter e James Strachan desenvolveram o groovy em 2003
  • Literais de lista, mapa, intervalo e expressões regulares são recursos importantes de Groovy
  • Quatro tipos de operadores suportados por Groovy são 1. Relacional 2. Lógico 3. Bitwise 4. Atribuição
  • Groovy executou a tomada de decisão usando instruções if, if/else, Nested if, switch, Netsted switch
  • A estrutura da lista permite armazenar uma coleção de itens de dados
  • Um mapa Groovy é uma coleção de pares de valores-chave
  • In Groovy, Getters e setters são gerados automaticamente para membros da classe
  • In Java, você pode usar o método fornecer getters e setters para campos
  • O maior mito sobre Groovy é que ele só pode ser usado para scripts que não estão corretos
  • Às vezes Groovy pode ser mais lento, o que aumentou o tempo de desenvolvimento
  • Três Groovy As ferramentas são: groovysh que executa código, groovy Console que é uma GUI para execução de código interativo e groovy que executa scripts