17.3 goto로 프로그램 흐름을 원하는 대로 바꾸기
goto 구문은 특정 레이블로 이동하는 기능을 합니다. C#에서 레이블은 콜론(:) 기호를 레이블 이름 뒤에 붙여 만듭니다. 이렇게 만든 레이블 코드는 평상시에는 주석처럼 아무 의미 없는 코드로 사용하지만, goto 구문 뒤에 레이블을 지정하면 해당 레이블로 이동하는 기능을 합니다.
레이블:
goto 레이블;
이번에는 goto 문을 사용해 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
지정한 책갈피로 이동: GoToDemo.cs
using System; class GoToDemo { static void Main() { Console.WriteLine("시작"); Start: Console.WriteLine("0, 1, 2 중 하나 입력 : _\b"); int chapter = Convert.ToInt32(Console.ReadLine()); if (chapter == 1) { goto Chapter1; //①번 코드 영역으로 이동 } else if (chapter == 2) { goto Chapter2; //②번 코드 영역으로 이동 } else { goto End; //③번 코드 영역으로 이동 } Chapter1: //① Console.WriteLine("1장입니다."); Chapter2: //② Console.WriteLine("2장입니다."); goto Start; End: //③ Console.WriteLine("종료"); } }