Go에서 Do While 루프를 복제하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-11-20 03:23:01
원래의
210명이 탐색했습니다.

How to Replicate a Do While Loop in Go?

Go에서 Do While 루프 복제

Go에서 while 루프의 개념은 Java의 do while 루프와 직접적으로 연관되지 않습니다. 그러나 Go에서 사용할 수 있는 다른 루프 구조를 사용하여 do while 루프의 기능을 에뮬레이션하는 방법이 있습니다.

제공하신 코드 샘플을 자세히 살펴보겠습니다.

var i = 1
for i > 0 {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    var input string
    inpt, _ := fmt.Scanln(&input)
    switch inpt {
    case 1:
        fmt.Println("hi")
    case 2:
        os.Exit(2)
    default:
        fmt.Println("def")
    }
}
로그인 후 복사

코드가 잠겨 있습니다. 루프 조건 i > 0은 항상 참입니다. do while 동작을 에뮬레이트하려면 루프 본문이 실행된 후에만 루프 조건을 확인하는 다른 루프 구조를 사용해야 합니다.

다음은 원하는 기능을 달성하도록 수정된 코드 버전입니다.

var input int
for {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    n, err := fmt.Scanln(&input)
    if n < 1 || err != nil {
        fmt.Println("Invalid input")
        break
    }

    switch input {
    case 1:
        fmt.Println("hi")
    case 2:
        fmt.Println("Exiting...")
        return
    default:
        fmt.Println("Invalid input")
    }
}
로그인 후 복사

이 코드에서는:

  • 루프 변수 i가 제거되고 int 유형의 새 변수 입력이 사용됩니다. 사용자 입력을 캡처합니다.
  • 루프 조건이 정의되지 않아 무한 루프가 발생합니다.
  • break 문은 사용자가 잘못된 입력을 입력하거나 선택하는 경우 루프를 종료하는 데 사용됩니다. 종료.
  • return 문은 사용자가 종료를 선택할 때 함수를 종료하는 데 사용됩니다.

이 코드는 사용자가 명시적으로 종료를 선택할 때까지 루프 본문을 실행하는 원하는 동작을 제공합니다.

위 내용은 Go에서 Do While 루프를 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿