Go 또는 Golang에서 while 루프와 유사한 패턴을 작성하는 방법은 무엇입니까?

8655 단어 go
Originally posted here!

Go 또는 Golang의 while 루프와 유사한 패턴을 작성하려면 for 키워드와 루프를 실행하기 위한 조건, 열기 및 닫기 중괄호 기호( {} )를 사용해야 합니다. 익숙한 다른 프로그래밍 언어와 같이 Go에서 루프를 반복하는 while 키워드가 없습니다. for 키워드는 Go에서 루프를 반복하는 데 사용됩니다.

TL;DR




package main

import "fmt"

func main(){
    // variable to hold user answer
    var userAnswer string

    // check if the `userAnswer` variable has the
    // value that is not equal to string `magic`
    // using the `for` loop.
    // The `for` loop will keep on looping
    // until the condition becomes `false`
    // this is similar to the working of a `while` loop
    for userAnswer != "magic"{
        // show the prompt to the user
        fmt.Println("Please enter the 'magic' keyword.")

        // read the value from the terminal
        fmt.Scanln(&userAnswer)
    }

    // show output when user enters the correct word
    fmt.Println("You Won The Game!")
}


예를 들어, 사용자에게 매직 키워드를 입력하도록 요청하는 게임 프로그램을 만들어야 한다고 가정해 보겠습니다. 사용자가 magic이라는 단어를 입력하면 사용자에게 그가 게임에서 이겼다는 것을 보여주어야 합니다. 그렇지 않으면 계속해야 합니다. 사용자에게 단어를 입력하도록 요청합니다.

이렇게 하려면 for 질문을 계속 해야 하는 Please enter the 'magic' keyword. 루프가 필요합니다.

먼저 사용자의 답변을 저장할 변수를 선언해 보겠습니다.

다음과 같이 할 수 있습니다.

package main

func main(){
    // variable to hold user answer
    var userAnswer string
}


이제 for 변수 값이 userAnswerstring 값과 같지 않은지 확인하는 조건을 작성하는 magic 루프를 작성해 보겠습니다. 사용자의 답변이 문자열 magic이 아닌 경우에만 질문을 표시하기 위해 루프를 돌릴 필요가 있습니다.

다음과 같이 할 수 있습니다.

package main

func main(){
    // variable to hold user answer
    var userAnswer string

    // check if the `userAnswer` variable has the
    // value that is not equal to string `magic`
    // using the `for` loop.
    // The `for` loop will keep on looping
    // until the condition becomes `false`
    // this is similar to the working of a `while` loop
    for userAnswer != "magic"{
        // cool code here
    }
}


이제 터미널에서 사용자에게 Please enter the 'magic' keyword.과 같은 프롬프트를 표시한 다음 터미널에서 값을 수락하고 해당 값을 userAnswer 변수에 저장해야 합니다. 이를 위해 Scanln() 표준 패키지의 fmt 메서드를 사용한 다음 변수 주소를 인수로 전달할 수 있습니다. Scanln() 메서드는 터미널에서 값을 읽는 데 도움이 됩니다.

다음과 같이 할 수 있습니다.

package main

import "fmt"

func main(){
    // variable to hold user answer
    var userAnswer string

    // check if the `userAnswer` variable has the
    // value that is not equal to string `magic`
    // using the `for` loop.
    // The `for` loop will keep on looping
    // until the condition becomes `false`
    // this is similar to the working of a `while` loop
    for userAnswer != "magic"{
        // show the prompt to the user
        fmt.Println("Please enter the 'magic' keyword.")

        // read the value from the terminal
        fmt.Scanln(&userAnswer)
    }
}


마지막으로 사용자가 올바른 단어를 입력하면 stringYou Won The Game!을 표시해야 합니다.

다음과 같이 할 수 있습니다.

package main

import "fmt"

func main(){
    // variable to hold user answer
    var userAnswer string

    // check if the `userAnswer` variable has the
    // value that is not equal to string `magic`
    // using the `for` loop.
    // The `for` loop will keep on looping
    // until the condition becomes `false`
    // this is similar to the working of a `while` loop
    for userAnswer != "magic"{
        // show the prompt to the user
        fmt.Println("Please enter the 'magic' keyword.")

        // read the value from the terminal
        fmt.Scanln(&userAnswer)
    }

    // show output when user enters the correct word
    fmt.Println("You Won The Game!")
}


위의 코드를 실행하면 단어를 쓰라는 프롬프트가 표시되고 magic이라는 단어 이외의 다른 문자열을 입력하면 Please enter the 'magic' keyword. 루프 조건으로 인해 프롬프트 for이 계속 표시되는 것을 볼 수 있습니다. 만족하지 못하고 있습니다.

다음과 같이 보일 수 있습니다.



우리는 Go에서 for 루프를 사용하는 것과 유사한 while 루프를 성공적으로 작성했습니다. 예이 🥳!

그게 다야 😃.

이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.

좋은 웹페이지 즐겨찾기