티스토리 뷰

목차

  • Control Transfer Statements (흐름 제어 구문)
    • break Statement
    • continue Statement
  • Labeled Statement (구문 이름표)




Control Transfer Statements (흐름 제어 구문)

제어를 전달한다는 것은 현재 실행중인 scope 중에서 break, continue, Labeled 등을 통해 코드의 흐름을 제어하여 바로 다음 코드를 실행하게 하는 것이다.

 

break Statement

let num = 1

// switch문에서 break
switch num {
case 1...100:
    print("num은 \(num)이다.")    // num은 1이다.
    if num % 2 != 0 {                 // num = 1이므로 break
        break                
    }
default:                                        // 실행 X
    break
}

// 반복문에서 break
for i in 1...100 {
    print(i)            // 1
    if i > 0 {
        break            // num = 1이고 0보다 크므로 break
    }
}

break 특징

  • 문장을 중지한다.
  • 문장이 중첩되어 있을 때 가장 인접한 문장을 중지한다.

 

continue Statement

for i in 1...10 {
    if i % 2 != 0 {
        continue        // i가 홀수일 경우, 현재 반복을 종료한다.(문장 종료X)
    }
    print(i)
}
// 2,4,6,8,10

continue 특징

  • 현재 실행중인 반복을 중지하고, 다음 반복을 실행한다.
  • 가장 인접한 문장에 영향을 준다.




Labeled Statements (구문 이름표)

Labeled Statement

Label: statement
// 문장 앞에 원하는 Label을 붙인다.

break Label
continue Label
// break, continue 뒤에 설정해놓은 Label을 적으면 된다.
outSide: for i in 1...3 {
    print("Outer Loop", i)

    for j in 1...3 {
        print("     inside", j)

        break outSide
    }
}
/*
 outside 1
     inside 1
*/

Labeled Statements 특징

  • 가장 인접한 문장이 아닌 원하는 문장을 제어하고 싶을 때 사용한다.

'Swift' 카테고리의 다른 글

[Swift] Functions (함수)  (0) 2021.02.20
[Swift] Optionals (옵셔널)  (0) 2021.02.18
[Swift] Loop Statements (반복문)  (0) 2021.02.16
[Swift] Conditional Statements (조건문)  (0) 2021.02.16
[Swift] Operator (연산자)  (0) 2021.02.14
댓글