everyone! I'm newbie in Golang and I've a problem. I've some code like this (just example):
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?
}
I wont it shows the question "yes or no" again til an user enters correct data or terminate proccess.
You can use a while loop (for in Go) to continuously loop until you get an input you want.
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
}
}
Thanks, everyone! I did so:
for {
fmt.Println("yes or no:")
if _, err := fmt.Scan(&str); err != nil {
panic(err)
}
if str == "no" {
fmt.Println("enter again")
} else {
break
}
}