이번에는 Groovy 에서 사용되는 제어문들에 대해 알아보자.
Boolean
데이터 타입에 따라 true / false 로 판단할 수 있는 기준이 다르다.
기본 타입을 제외하면 null 체크가 된다.
If statement
java 에서 사용되는 if ~ else if ~ else 를 그대로 사용한다.
//--------------------------------------------
// if 제어문
// if(boolean expression} {//logic}
//--------------------------------------------
if(true){
println "true"
}
def age = 35
if( age > 5 && age < 40) {
println "true"
} else {
println "false"
}
|
Ternary
삼항 연산자의 사용방법도 java 와 비슷하고 삼항 연산자의 true 나 false 실행문을 생략할 수 있다.
//--------------------------------------------
// 삼항 연산자
// (expression)? true : false
//--------------------------------------------
def name = 'Dan'
def isdan = (name.toUpperCase() == 'Dan') ? 'YES' : "NO"
def msg = 'abc'
def output = (msg != null) ? msg : 'default message'
def elvisOutput = msg ?: 'default message'
println isdan
println msg
println elvisOutput
|
NO
abc
abc
|
Switch
switch 구문은 java 와 달리 조건을 list 나 range 로 줄 수 있어 편리하다.
def num = 2
switch (num) {
case 1 :
println "1"
break
case 1..3:
println "2~4"
break
case Integer :
println "num is an Integer"
break
case [1,2,12] :
println "num is list [1,2,12]"
break
default:
println "default"
}
|
Loop
while, for 문을 사용해 loop 를 돌 수 있고 java 와 동일하다.
//while(cond){break}
List numbers = [1,2,3]
assert numbers
def i = 0
while(true) {
if(i >= numbers.size()) {
break
}
println numbers[i]
i++
}
//for (variable in iterable) {}
for( def num in numbers) {
println num
}
for(def num in 1..10) {
println num
}
|
'Script > Groovy' 카테고리의 다른 글
13. OOP (0) | 2020.01.21 |
---|---|
12. Exception (0) | 2020.01.21 |
10. Closures (0) | 2020.01.21 |
09. Collection (0) | 2020.01.21 |
08. RegExp (0) | 2020.01.21 |