Если пользователь вводит неверные данные, приложение должно повторить вопрос - PullRequest
0 голосов
/ 25 октября 2018

все!Я новичок на Голанге и у меня проблема.У меня есть такой код (просто пример):

fmt.Println("yes or no:")
if _, err := fmt.Scan(&str); err != nil {
    panic(err)
}
if str == "no" {
    fmt.Println("You have to enter yes.")
    //What do I need to write this?
}

Я не показываю вопрос "да или нет" снова, пока пользователь не введет правильные данные или не завершит процесс.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Спасибо всем!Я так и сделал:

for {
    fmt.Println("yes or no:")
    if _, err := fmt.Scan(&str); err != nil {
        panic(err)
    }
    if str == "no" {
        fmt.Println("enter again")
    } else {
        break
    }
}
0 голосов
/ 25 октября 2018

Вы можете использовать цикл while (for in Go) для непрерывного цикла, пока не получите желаемый вход.

var keepRepeating = true

scanner := bufio.NewScanner(os.Stdin)

for keepRepeating {

    fmt.Println("Enter y/n")    
    scanner.Scan()
    if scanner.Text() == "y" {
        keepRepeating = false
    }
    if scanner.Text() == "n" {
        keepRepeating = false       
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...