더북(TheBook)

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