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") } }
이 코드에서는:
이 코드는 사용자가 명시적으로 종료를 선택할 때까지 루프 본문을 실행하는 원하는 동작을 제공합니다.
위 내용은 Go에서 Do While 루프를 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!