>  기사  >  백엔드 개발  >  Go에서 Do While 루프를 어떻게 에뮬레이션할 수 있나요?

Go에서 Do While 루프를 어떻게 에뮬레이션할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-13 13:40:02337검색

How Can You Emulate a Do While Loop in Go?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.