while loop,
if guard
, switch
, for-in
문 등 많은 제어문을 제공합니다.for-in
문는 배열, 숫자, 문자열을 순서대로 순회(iterate)하기 위해 사용합니다.for-in
문을 순서대로 제어할 필요가 없다면, 변수자리에 _
키워드를 사용하면 성능을 높일 수 있습니다.stride(from:to:by:)
함수와 함께 사용할 수 있습니다. 다음은 구간을 5로 설정한 경우입니다.while
과 repeat-while
두 가지 종류의 while
문을 지원합니다.while
문의 (예)reapeat-while
문은 다른 언어의do-while
문과 유사한while
문입니다.
while
조건이 거짓일 때까지 반복합니다.repeat-while
문의 (예)if
와 switch
문 두 가지의 조건 구문을 제공합니다.If
만 사용else
를 사용else
, else-if
를 사용else-if
만 사용switch
구문과는 달리 Swift의 switch
구문은 암시적인 진행을 하지 않습니다. C나 Objective-C에서는 switch
구문이 기본적으로 모든 case
를 순회하여 default
를 만날 때까지 진행됩니다. 그래서 그것을 진행하지 않기 위해 break
라는 문구를 명시적으로 적어야 했습니다. Swift에서는 break
를 적지 않아도 특정 case
가 완료되면 자동으로 switch
구문을 빠져 나오게 됩니다. 이런 사용법으로 인해 실수로 break
를 적지않아 의도하지 않은 case
문이 실행되는 것을 방지해 줍니다.주의break
가 Swift에서 필수적이지는 않지만case
안에 특정 지점에서 멈추도록 하기 위해break
를 사용할 수 있습니다. 자세한 내용은Break
문을 참조해주세요.
case
안 에 최소 하나의 실행 구문이 반드시 있어야 합니다.주의 명시적으로 switch-case 문의 특정 지점의 끝까지 실행하고 싶다면fallthrough
키워드를 사용할 수 있습니다. 자세한 정보는 Fallthrough에서 확인할 수 있습니다.
case
에 where
조건을 사용할 수 있습니다.case
에 콤마(,)로 구분해 여러 조건을 혼합해 사용할 수 있습니다.continue
문은 현재 loop
를 중지하고 다음 loop
를 수행하도록 합니다.break
문은 전체 제어문의 실행을 즉각 중지 시킵니다. break
문은 loop
나 switch
문에서 사용할 수 있습니다.fallthrough
키워드는 이후의 case
에 대해서도 실행하게 합니다. 앞에서 언급했던 것 처럼 Swift에서는 한번 특정 case
를 타면 바로 그 switch 문은 종료됩니다. 마치 case
안에 break
를 자동으로 넣은 것과 같은 기능을 하는 것이죠. 하지만 이 fallthrough
를 사용하면 이 자동으로 break
가 사용되는 것을 막는 효과를 가져옵니다.주의 fallthrough 는 case 조건을 확인하지 않고 그냥 다음 case를 실행하게 만듭니다.
label
이름과 while
조건을 넣어 특정 구문을 실행하는 구문으로 사용할 수 있습니다.guard
문을 이용해 특정 조건을 만족하지 않으면 이 후 코드를 실행하지 않도록 방어코드를 작성할 수 있습니다.