Korean Logical Branching Add comment to Wiki View in Wiki Edit Wiki page Printable Version

Groovy는 자바의 평범한 if-else 문법을 지원합니다:

또한 삼항연산자도 지원합니다:

switch 문

Groovy의 switch 문은 자바의 switch 문에 대한 하위호환성을 제공합니다. 여러 경우에 대해 하나의 코드를 공유하고자 하는 경우 "case" 사이를 지나 다음 "case"로 넘어갈 수 있습니다.

Groovy switch 문의 차이점은 비교가 수행될 수 있는 모든 값들이 사용될 수 있다는 점입니다.

Switch 무은 다음 종류의 비교를 지원합니다

  • case에 주어진 값이 클래스인 경우, switch에 주어진 값이 해당 클래스의 인스턴스인 경우 일치
  • case에 주어진 값이 정규식인 경우, switch에 주어진 문자열이 패턴에 일치하는 경우 일치
  • case에 주어진 값이 콜랙션인 경우, switch에 주어진 값이 콜랙션에 포함되는 경우 일치. Range 또한 마찬가지
  • 위 경우가 모두 아니라면 equals 비교가 수행됨

switch 문의 작동 방식

case 문은 case에 주어진 값에 대해 isCase(switchValue) 메서드를 호출함으로써 일치를 판별합니다. isCase() 메서드의 기본 구현은 equals(switchValue) 를 호출 하도록 되어 있지만 각 타입에 따라 다양하게 재정의되어 있습니다.

따라서 switch/case에서 여러분이 만든 타입이 사용될 수 있게 하려면 isCase(switchValue) 를 제정의하면 됩니다.matching.

 

Search

Results of your search request can come from various sources: the Groovy website itself, the JIRA issues, the API documentation, as well as a few other interesting Groovy-related blogs.

  By  -  pages  -  views  - last modified