Swift에서의 Switch문은 

fallthrough 방식(break문을 만날때까지 모든 코드를 계속 실행)을 사용하지 않음.

다음 case:문이나 default:를 만날때까지 코드를 계속 실행함

반드시 마지막에 default:문이 있어야 한다.

문자열(대소문자 구분) 매칭도 가능하다 

case문에서 fallthrough를 넣으면 바로 다음 case문을 실행해준다. 


듀플매칭도 가능

var myData = (0, 10)
switch myData {
case (0,0):
  println("좌표 초기화")
case (_,0):
  println("수평 이동")
case (0, _):
  println("수직 이동")
default:
  println("기본 이동")
}


값 바인딩도 가능

var myData = (0, 10)
switch myData {
case (0,0):
  println("좌표 초기화")
case (var x,0):
  println("수평 이동 : \(x)")
case (0, let y):
  println("수직 이동 : \(y)")
default:
  println("기본 이동")
}


where 사용 가능

var myData = (0, 10)
switch myData {
case (0,0) where myData.0 < 0:
  println("좌표 초기화")
case (var x,0) where x < 0 :
  println("수평 이동 : \(x)")
case (0, let y) where y > 0:
  println("수직 이동 : \(y)")
default:
  println("기본 이동")
}


저작자 표시 비영리 변경 금지
신고
Posted by 까칠코더.


티스토리 툴바