// Chapter 20 example: ask again until the answer is in range. // Run with: go run exercises/20/02-validate.go package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) var level int for { fmt.Print("Level (1 to 99): ") text, _ := reader.ReadString('\n') level, _ = strconv.Atoi(strings.TrimSpace(text)) if level >= 1 && level <= 99 { break } fmt.Println("That is not a level from 1 to 99.") } fmt.Println("Level set to", level) }