[Groovy] What is Groovy


Groovy 란?

JVM에서 실행되는 스크립트 언어

문법이 JAVA와 가깝다. JAVA와 호환이 되며, JAVA 클래스 파일을 그대로 Groovy 클래스로 사용할 수 있다.

문자열

문자열을 표기하는 방법 ‘‘와 ““가 있음.

’’

단순히 문자열을 출력하는데 사용

””

문자열을 출력, 문자열 내부에 $변수 를 이용해 동적인 표시로 사용 가능.

’’’, “””

여러줄을 사용하고싶으면 ‘’’ ‘’’, “”” “"”를 사용.

메소드 호출

Groovy는 메소드 호출 시 () 소괄호를 생략할 수 있다.

형 생략

def 라는 키워드를 이용하여 모든 타입의 변수를 선언할 수 있다.

형을 지정하여 생성하는 법도 가능함.

Closure

Closure는 JAVA의 Lamda와 매우 유사한 성격의 기능

JSON Parsing

JsonSlurper는 java.io.NotSerializableException: groovy.json.internal.LazyMap를 발생하기 때문에 JsonSlurperClassic를 사용한다. 참고

import groovy.json.JsonSlurperClassic

@NonCPS
def jsonParse(def json) {
    new groovy.json.JsonSlurperClassic().parseText(json)
}

def sonarApi = httpRequest "${SONAR_URL}/api/measures/search"+urlParam
def sonarApiResponse = jsonParse(sonarApi.content)

ForEach

('a'..'c').each {
    println "Letter ${it}"
}

['Cat', 'Dog', 'Elephant'].each { animalName ->
    println "Animal ${animalName}"
}