레이블이 있는 문장
이름이 지정된 레이블로 바깥쪽 반복문을 대상으로 지정합니다.
레이블이 있는 문장은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
label이란 무엇인가
문 label은 반복문의 이름을 지정하여 break나 continue로 정확히 대상을 지정할 수 있게 합니다.
outer: for i in 1...3 {
print("row", i)
}label 구문
반복문 키워드 바로 앞에 label 이름을 쓰고 그 뒤에 콜론을 붙이십시오.
search: for n in 1...5 {
print(n)
if n == 3 { break search }
}이름 지정 규칙
label은 일반적인 식별자입니다. outer, rowLoop, search처럼 의미가 잘 드러나는 이름을 선택하십시오.
rowLoop: for r in 1...2 {
print("processing row", r)
}label을 사용한 반복 종료
break label은 가장 안쪽 반복문이 아니라 해당 label이 지정된 반복문을 종료합니다.
outer: for i in 1...3 {
for j in 1...3 {
if j == 2 { break outer }
print(i, j)
}
}label을 사용한 반복 건너뛰기
continue label은 label이 지정된 반복문의 다음 반복으로 이동합니다.
outer: for i in 1...3 {
for j in 1...3 {
if j == 2 { continue outer }
print(i, j)
}
}while 반복문에 label 지정
while을 포함하여 모든 반복문에 label을 지정할 수 있습니다.
var i = 0
mainLoop: while i < 5 {
i += 1
if i == 3 { break mainLoop }
print(i)
}label이 도움이 되는 이유
label이 없으면 break는 가장 안쪽 반복문만 종료합니다. label을 사용하면 바깥 반복문을 직접 제어할 수 있습니다.
grid: for x in 0...2 {
for y in 0...2 {
if x + y == 3 { break grid }
print(x, y)
}
}여러 label 사용
중첩된 여러 반복문에 label을 지정하고 각각을 독립적으로 대상으로 삼을 수 있습니다.
rows: for r in 1...2 {
cols: for c in 1...2 {
if c == 2 { continue rows }
print(r, c)
}
}label이 의도를 명확하게 함
이름을 잘 정한 label은 어떤 반복문에 이동 명령이 적용되는지 설명하여 중첩된 코드의 가독성을 높입니다.
scan: for value in [3, 6, 9, 12] {
if value > 8 { break scan }
print(value)
}label의 범위
label은 해당 반복문 내부에서만 보입니다. 현재 문을 감싸고 있지 않은 label로 이동할 수는 없습니다.
first: for a in 1...2 {
print("a", a)
second: for b in 1...2 {
if b == 2 { break first }
print("b", b)
}
}조건과 결합하기
label은 조건과 자연스럽게 결합하여 여러 차원에 걸친 검색 및 중지 논리를 구현할 수 있습니다.
let matrix = [[1, 2], [3, 4]]
var target = -1
find: for row in matrix {
for v in row {
if v == 3 {
target = v
break find
}
}
}
print(target)빠른 확인
label이 지정된 문을 테스트합니다.
복습
반복문 앞에 name:을 작성하면 label이 지정됩니다. 그러면 break name과 continue name이 가장 안쪽 반복문이 아니라 해당 반복문을 대상으로 삼습니다. label의 범위는 해당 반복문으로 제한되며 중첩된 반복문 제어를 명시적으로 만들어 줍니다.
outer: for i in 1...2 {
for j in 1...2 {
if j == 2 { continue outer }
print(i, j)
}
}자주 묻는 질문
“레이블이 있는 문장” 강의는 무료인가요?
네 — “레이블이 있는 문장” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“레이블이 있는 문장”에서 뭘 배우나요?
이름이 지정된 레이블로 바깥쪽 반복문을 대상으로 지정합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“레이블이 있는 문장” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.