제어전송문
- 반복문에서 쓰이는 제어전송문(Control Transfer Statement)
1) continue
for num in 1...20 {
if num % 2 == 0 { // num 2의 배수
continue
}
print(num)
}
print 값 1,3,5,7,9,11,13,15,17,19
continue 란 내부 if 문에 부합하는(true) 조건일 때 다음 주기로 넘어가고
false일 때는 내부 실행되지 않고 print 문 실행 됨.
2) break
for num in 1...20 {
if num % 2 == 0 {
break
}
print(num)
}
print 값 1
break는 반복문을 종료시킴.
1일 때 내부 if문에 부합하지 않으므로 1 출력 후
2일 때 내부 if문에 부합하여 break 즉 종료 되므로 출력되는 값은 1밖에 없다.
주의할 점 - 중첩 사용 시 적용 범위
가장 인접한 범위의 반복문에 영향을 미친다.
3) Labeled Statements
- 레이블이 매겨진 문장(Labeled Statements)과 continue, break 의 사용
반복문을 중첩적으로 사용할때, 각 반복문에 이름을 붙여서, 가장 인접한 범위 이외의 반복문도 제어가능
OUTER: for i in 0...3 { // 관습적으로 대문자 사용
print("OUTER \(i)")
INNER: for j in 0...3 {
if i > 1 {
print(" j :", j)
continue OUTER
//break OUTER
}
print(" INNER \(j)")
}
}
+ 추가
Swift에서 사용하는 제어전송 명령문(흐름 제어)
키워드 | 쓰이는 경우 | 설명 |
break | switch / 반복문 | 1) switch문: 케이스에서 실행하는 문장이 없을 때, break 반드시 입력해야 함 2) 반복문: 가장 인접한 반복문의 모든 싸이클을 아예 중지(break)하고 반복문 다음의 문장으로 |
fallthrough | switch | switch문에서 매칭된 값에 대한 고려없이, 무조건 다음 문장도 실행하려할 때 입력 |
continue | 반복문 | 반복문에서 다음 반복문의 싸이클로 넘어가서 계속(continue) 실행함 |
return | 함수 | 1) 리턴타입이 있는 함수: 리턴 키워드 다음의 표현식을 평가한 다음, 그 결과를 리턴하면서(함수 실행을 중지하고) 함수를 벗어남 2) 리턴타입이 없는 함수: 함수의 실행을 중지하고 함수를 벗어남 |
throw | 함수 | 에러가 발생가능하도록 정의된 함수에서, throw 키워드 다음에 정의된 에러의 타입을 리턴하면서(함수 실행을 중지하고) 함수를 벗어남 |
'iOS 관련 공부' 카테고리의 다른 글
함수의 응용, 함수 사용시 주의점 (0) | 2024.12.26 |
---|---|
함수의 형태 (0) | 2024.12.24 |
튜플 (0) | 2024.12.12 |
연산의 우선순위 (0) | 2024.12.11 |
특수문자 이름/명칭 (0) | 2024.12.10 |