iOS/Swift
[Swift] 구문 레이블 (for문 중첩 제어)
유훈 | Yuhun
2022. 4. 2. 00:52
반응형
중첩된 for문을 처리할 때 불편한 점이 하위 for문에서 상위 for문을 중단시키기 위해선 변수도 더 선언해야 한다는 문제가 있었습니다.
근데 알고 보니 스위프트에는 좋은 기능이 있었는데 바로 "구문 레이블"입니다.
말 그대로 구문에 이름을 붙여 break나 continue 시킬 수 있는 기능입니다.
기본 문법은 이러합니다.
이름(레이블): <조건식(예를 들어 for문)> {
//code...
}
코드를 보면 바로 이해가 되니 바로 예제를 보면
a for문이 있고 b for문을 만들었습니다.
그리고 b에서 j가 3이면 b를 포함해 a까지 break 되는 구문입니다.
a: for i in 0...5 {
print("i: \(i)")
b: for j in 0...5 {
if j == 3 {break a}
print("j: \(j)")
}
}
기존에는 var check = false를 만들고 하위 for문에서 어떤 조건이면 check = true 하고 이런 식으로 구분했는데
위의 방법을 사용하면 코드도 간결하고 이해도 쉬워지는 효과를 얻을 수 있었습니다!
반응형