大器晩成

Swift 제어전송문 본문

iOS/Swift 문법

Swift 제어전송문

zerobugpark 2024. 11. 8. 16:53

제어전송문

- 스위프트에서 사용하는 제어전송문은 break, fallthrough, continue, return, throw로 총 다섯 가지입니다.

 

키워드 자주 사용되는 곳 설명
break switch / 반복문 1) switch:
케이스에서 실행하는 문장이 없을때, break 반드시 입력
2) 반복문:

가장 인접한 반복문의 모든 싸이클을 아예 중지(break)하고 반복문 다음의 문장으로
fallthrough switch switch에서 매칭된 값에 대한 고려없이, 무조건 다음 문장도 실행하려할 때 사용
continue 반복문 반복문에서 다음 반복문의 싸이클로 넘어가서 계속(continue) 실행함
return 함수 1) 리턴타입 있는 함수:
리턴 키워드 다음의 표현식을 평가한 다음, 그 결과를 리턴하면서(함수 실행을 중지하고)
함수를 벗어남 ex) return "Hello"

2) 리턴타입 없는 함수:
함수의 실행을 중지하고 함수를 벗어남
throw 함수 에러가 발생가능하도록 정의된 함수에서, throw 키워드 다음에 정의된 에러의 타입을 리턴
하면서(함수 실행을 중지하고) 함수를 벗어남

 

 

break

#1. break문 사용예시 (switch문)
var a = 2

switch a {
case 1:
    break      // 실행하는 문장이 없을때, 반드시 입력 (약속)
case 2:
    print(a)
case 3:
    print("3입니다.")
case 4:
    print("4입니다.")
default:
    break
}

 // 가장 인접한 반복문을 중지
#2 for문
for index in 1...10 {
    if index == 3 { 
        break
    }
    print(index)
}

#3 while문
var i = 0
while i < 5 {
    i += 1
    for j in 1...2 {
        if i > 2 {
            break
        }
        print(j)
    }
}
  • 주로 switch나 반복문(for/while)에서 사용됩니다.
  • break문을 만나게 될 경우 해당 루프를 탈출합니다.(가장 인전합 루프를 나가게 됩니다.)

fallthrough

var a = 2

switch a {
case 1:
    break      
case 2:
    print(a)
    fallthrough
case 3:
    print("3입니다.")
case 4:
    print("4입니다.")
default:
    break
}

// 출력: 2
// 출력: 3입니다.
  • case문에서 주로 사용되며, 다음 case 조건과 상관없이 fallthrough 다음 case 구문은 실행됩니다.


continue

  • 반복문(for/while 등)에서 사용
// continue는 반복문을 다음 싸이클로 보냄
// 다음 싸이클에서 계속 지속(continue)하라는 의미

for index in 1...10 {

    if index % 2 != 0 {
        continue
    }

    print(index)
}
  • 반복문(for/while)에서 주로 사용되며, continue 구문을 만날 경우 아래 구문을 실행하지 않고 다음 사이클로 넘어갑니다.

return

func printNum(a: Int) {
    if a > 5 {
        return
    }
    print(a)
}
printNum(a: 10)
  • 함수에서 주로 사용되며, return을 만날 경우 함수를 탈출하게 됩니다.
    (반환값이 있는 함수의 경우 return 반환값)

throw

enum APIError: Error {
    case aError
    case bError
}

func doSomething2() throws -> String {
    print("1")
    print("2")
    
    if true {
        throw APIError.aError    // 리턴과 동일한 역할(함수를 종료시킴) ===> 에러를 던지고 함수를 벗어남
    }
    
    print("3")
    print("4")
    
    return "안녕하세요"
}
  • (에러가 발생할 수 있는) Throwing 함수에서 사용합니다.
728x90

'iOS > Swift 문법' 카테고리의 다른 글

옵셔널 체이닝  (4) 2024.11.12
inout 파라미터  (0) 2024.11.08
함수의 오버로딩  (1) 2024.11.08
함수의 표기법(시그니처 표기법)  (0) 2024.11.08
함수의 주의점  (3) 2024.11.08