Blog

Um pouco de Groovy

Mais o que é groovy?

                O Groovy por padrão é definido como uma linguagem ágil de dinâmica para a plataforma Java é orientada a objetos e possui características de outras linguagens como Python, Ruby e Smalltalk, tornando-as disponível aos programadores Java.

                Como dito acima o Groovy é disponível aos programadores Java, já que o mesmo utiliza uma sintaxe similar ao Java e é compilado dinamicamente para bytecode Java, e com isso no produto final não teremos problemas em integrar um bytecode gerado do Groovy com as demais bibliotecas e bytecodes dos aplicativos vindo de código Java.

                Como utilizamos o grails como linguagem de exemplo não é necessário fazer a instalação do Groovy já que o Groovy já esta embutido no grails.

Groovy no final é Java então onde esta a diferença?

                Assim como esta citado acima,o Groovy utiliza uma sintaxe similar ao Java, e temos as principais diferenças:

                O ponto e vírgula é opcional, se o programador digitar apenas o comando da linha, ele não precisará digitar o ponto e virgula como no Java, mais caso ele queria fazer mais de um comando por linha é necessário o ponto e virgula para a distinção de comandos.

EXEMPLO:

println  "Sou uma linha de comando sem o ponto e virgula, sou d+"

println  "Eu sou tradicional. Tenho ponto e virgula no final";

 

                O main também é opcional, no Groovy na forma de um script, pode considerar o arquivo de código fonte como o próprio main. Tudo o que estiver fora das chaves será considerado código a ser executado.

EXEMPLO:

println "Ola, sou um script Groovy e não tenho o método main"

String valor(){

      return "Sou um método que só ira executar quando for chamado"

}

                O Groovy extende o conceito de verdadeiro com o qual estamos habituados no Java. Alem do conceito normal o Groovy também considera o conceito verdadeiro para qualquer valor que seja diferente de null.

EXEMPLO:

                String temp = null

if(temp){

                println temp

}else{

println "temp é nulo"

}

                A instrução de return que utilizamos no Java também existe no Groov, porem ela é opcional. Dada uma função, o valora de retoro do ultimo comando corresponde ao valor de retorno da mesma, ou seja, não é necessário o return.

EXEMPLO:

                String retorna(String params){

                               //forma tradicional

                               return params;

                               //sem return

                               params;

}

                E esta é a melhor parte, ao contrario do Java em que temos tipo primitivos e não primitivos de variáveis, no Groovy tudo é considerado objeto. Sendo assim, os tipos normalmente primitivos em Java são convertidos para suas respectivar classes encapsuladoras de forma transparente para o programador.