control jump

goto는 레이블로 실행 위치를 직접 바꾼다

문법은 단순하지만, 위에서 아래로 읽히는 구조를 끊고 정리 코드를 건너뛸 수 있어 새 코드에서는 피합니다.

START_LOOP:
  print(count);
  count++;

if (count <= 3)
  goto START_LOOP;
출발점

goto START_LOOP;가 실행되면 흐름이 즉시 이동합니다.

도착점

START_LOOP: 레이블 아래 코드부터 다시 실행합니다.

흐름 추적 비용

중간 코드를 건너뛰어 읽는 순서가 깨집니다.

정리 코드 누락

닫기, 해제, 상태 복구 지점을 지나칠 수 있습니다.

대안 존재

대부분 for, while, break, return으로 표현할 수 있습니다.