C#
C# - goto
Dev_Jen
2025. 7. 4. 11:39
반응형
✅ goto란?
goto는 프로그램의 흐름을 특정 위치(레이블)로 "강제로" 이동시키는 문법이야.
goto 레이블이름;
...
레이블이름:
실행할 코드;
✅ 아주 단순히 말하면:
"코드 중간 어딘가로 점프!"
✅ 간단한 예제
int i = 0;
start:
Console.WriteLine(i);
i++;
if (i < 5)
goto start; // start로 이동 (반복처럼 동작)
🟰 위 코드는 사실상 while문처럼 동작해.
✅ goto는 언제 쓰나?
- switch문에서 중첩된 case 건너뛸 때
- 에러 발생 시 빠르게 특정 cleanup으로 이동
- 매우 드물게 복잡한 상태 머신 구조
✅ switch문에서의 goto
int num = 2;
switch (num)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
goto case 1; // case 1으로 이동!
default:
Console.WriteLine("Default");
break;
}
📝 출력:
Two
One
✅ 사용 시 주의사항 ❗
- goto는 코드를 복잡하게 만들고,
- 흐름을 예측하기 어렵게 만들기 때문에
- 되도록 사용하지 않는 것이 원칙이야
📌 대부분의 경우 for, while, if로 해결 가능!
✅ 요약 정리
항목 | 설명 |
goto | 코드의 흐름을 특정 지점으로 강제 이동 |
사용처 | switch case 점프, 에러 처리, 특별한 상황 |
추천 여부 | ❌ 일반 코드에서는 사용 자제 |
대체 | if, while, return, break, continue 등 |
✅ 한 줄 요약
goto는 레이블로 점프하는 문법이지만, 가독성 나빠서 정말 필요한 상황에서만 조심스럽게 사용해야 한다.
✅
C에서 배웠어서 원래 알고있는 내용이였지만 C#에도 있는줄은 몰랐다 ㅎㅎ..
아무래도 원하는곳으로 이동할 수 있게 만들어주지만 너무 많이 사용하게되면 코드가 복잡해지고 왔다갔다해서 더 이상해질수도 있을듯하다. 사용한다면 정말 중요한 부분에만 사용하는걸로..
반응형