본문 바로가기

Script/Groovy

11. Conditional Statement

 
이번에는 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