Go에서 do while 루프 복제
Go에는 다른 많은 프로그래밍 언어에서 발견되는 do while 루프와 직접적으로 동등한 것이 없습니다. 그러나 유사한 기능을 구현하는 방법이 있습니다. 한 가지 방법은 true로 초기화된 부울 루프 변수와 함께 for 루프를 사용하는 것입니다.
다음 코드는 Go에서 do while 루프를 에뮬레이트하는 방법을 보여줍니다.
for ok := true; ok; ok = EXPR { // Code to be executed }
이 루프는 계속됩니다. EXPR 표현식이 false로 평가될 때까지 코드 블록을 실행합니다. 원래 문제의 맥락에서 이 표현식은 사용자 입력이 원하는 종료 조건과 일치하는지 여부입니다.
다음은 원하는 기능을 올바르게 구현하는 제공된 코드의 수정된 버전입니다.
func sample() { for ok := true; ok; ok = (input != 2) { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") var input int fmt.Scanln(&input) switch input { case 1: fmt.Println("hi") case 2: // Exit the program os.Exit(2) default: fmt.Println("def") } } }
이 코드에서는 사용자가 2(종료)를 입력할 때까지 루프가 계속됩니다. 입력이 1이면 "hi" 문을 실행합니다. 입력이 다른 경우에는 "def" 문을 실행합니다.
os.Exit(2)를 명시적 호출로 대체하여 함수를 조기에 종료하도록 반환할 수 있습니다.
위 내용은 Go에서 Do While 루프를 어떻게 에뮬레이션할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!