0Pricing
Zig Academy · 강의

break, continue, 레이블이 있는 반복문

레이블로 반복문을 정밀하게 제어합니다.

break, continue, 레이블이 있는 반복문은(는) CoddyKit의 무료 Zig Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Zig Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

두 가지 반복 제어

어떤 반복문 안에서든 break는 반복문 전체를 종료하고 continue는 다음 반복으로 이동합니다. 두 기능으로 실행 흐름을 세밀하게 제어할 수 있습니다. 🎛️

break는 즉시 빠져나옵니다

break가 실행되면 반복문이 즉시 멈추고 다음 줄에서 실행이 재개됩니다. 본문의 나머지 부분은 실행되지 않습니다.

for (items) |x| {
    if (x == 0) break;
    use(x);
}

continue는 다음으로 건너뜁니다

continue는 현재 반복의 나머지를 포기하고 다음 반복으로 이동하며, 반복문 자체는 계속 실행되도록 합니다.

for (items) |x| {
    if (x < 0) continue;
    total += x;
}

가장 안쪽 반복문을 대상으로 합니다

기본적으로 break와 continue는 자신을 감싸는 가장 안쪽 반복문에만 영향을 줍니다. 바깥 반복문은 아무 일도 없었던 것처럼 계속 실행됩니다.

반복문에 이름 붙이기

이름과 콜론을 사용해 반복문에 레이블을 붙일 수 있습니다. 그러면 더 깊은 곳에서 해당 반복문을 지정할 수 있습니다.

outer: for (rows) |row| {
    for (row) |cell| {
        check(cell);
    }
}

레이블로 break하기

break :outer를 작성하면 중첩된 반복문 안에서 이름이 붙은 바깥 반복문을 직접 종료할 수 있습니다. 한 문장으로 두 단계 모두 빠져나옵니다.

outer: for (rows) |row| {
    for (row) |cell| {
        if (cell == target) break :outer;
    }
}

레이블로 continue하기

continue :outer를 사용하면 레이블이 붙은 바깥 반복문의 다음 반복으로 건너뛰며, 안쪽 반복문의 나머지를 즉시 포기할 수 있습니다.

레이블은 플래그를 대신합니다

레이블을 사용하기 전에는 found 플래그를 설정하고 각 반복문 뒤에 확인했을 수 있습니다. 레이블이 붙은 break를 사용하면 이런 반복 코드를 없애고 더 명확하게 작성할 수 있습니다.

레이블이 붙은 break는 값을 반환합니다

레이블이 붙은 반복문도 표현식이 될 수 있습니다. break :outer value는 해당 값을 레이블이 붙은 반복문 전체의 결과로 돌려줍니다.

const hit = outer: for (rows) |row| {
    for (row) |c| {
        if (c == target) break :outer c;
    }
} else 0;

블록에도 레이블을 붙일 수 있습니다

레이블은 반복문에만 사용하는 것이 아닙니다. 일반 블록에도 레이블을 붙일 수 있으며, 값과 함께 break를 사용하면 해당 블록을 표현식으로 만들 수 있습니다.

const x = blk: {
    const t = compute();
    break :blk t * 2;
};

중첩을 얕게 유지하기

레이블이 있는 제어문은 강력하지만, 루프를 지나치게 중첩하면 가독성이 떨어집니다. 레이블은 복잡하게 얽힌 코드를 정당화하기 위해서가 아니라, 코드를 더 명확하게 해 줄 때 사용하십시오.

빠른 확인

안쪽 루프에서 outer라는 이름의 바깥쪽 루프를 종료하려고 합니다. 어떤 문을 사용해야 할까요?

복습

break와 continue를 익혔습니다. 기본적으로 가장 안쪽 루프에 적용하고, 중첩된 루프에는 레이블을 사용하며, 값을 반환하는 레이블 지정 break와 레이블이 있는 블록도 사용할 수 있습니다. 🎯

자주 묻는 질문

“break, continue, 레이블이 있는 반복문” 강의는 무료인가요?

네 — “break, continue, 레이블이 있는 반복문” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Zig Academy 강의 전체를 잠금 해제할 수 있습니다. Zig Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“break, continue, 레이블이 있는 반복문”에서 뭘 배우나요?

레이블로 반복문을 정밀하게 제어합니다. 브라우저에서 직접 실행하는 실습 코드로 Zig Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Zig Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Zig Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“break, continue, 레이블이 있는 반복문” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Zig Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Zig Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 문과 표현식으로서의 if
  2. while 반복문과 continue 표현식
  3. 범위와 항목을 순회하는 for 반복문
  4. break, continue, 레이블이 있는 반복문
← Zig Academy(으)로 돌아가기