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("종료");
        }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.