Pouca gente sabe disto: Groovy aceita que criemos funções cujos parâmetros possam possuir valores opcionais.
O código abaixo fala por si mesmo:
// Repare: defini o valor default do parâmetro c igual a 3 def imprima(c = 3, d) { println c println d } // Saida: // imprime 3 primeiro e 34 em seguida imprima(d=34) // Saida: // Imprimirá 4 primeiro e 5 em seguida imprima(4, 5) // Saida: // Imprimirá 3 e em seguida 55 imprima(55) // Gera erro, pois o parâmetro d não possui valor default imprima()