goto는 레이블로 실행 위치를 직접 바꾼다
문법은 단순하지만, 위에서 아래로 읽히는 구조를 끊고 정리 코드를 건너뛸 수 있어 새 코드에서는 피합니다.
START_LOOP: print(count); count++; if (count <= 3) goto START_LOOP;
출발점
goto START_LOOP;가 실행되면 흐름이 즉시 이동합니다.
도착점
START_LOOP: 레이블 아래 코드부터 다시 실행합니다.
흐름 추적 비용
중간 코드를 건너뛰어 읽는 순서가 깨집니다.
정리 코드 누락
닫기, 해제, 상태 복구 지점을 지나칠 수 있습니다.
대안 존재
대부분 for, while, break, return으로 표현할 수 있습니다.