伴读笔记No.2 Go语言上手指南|青训营

39 阅读1分钟

今日是实战部分 1 猜谜游戏 步骤:

生成随机数 读取用户输入 实现判断逻辑 实现游戏循环效果 最终代码package main

import ( "bufio" "fmt" "math/rand" "os" "strconv" "strings" "time" )

func main() { maxNum := 100 rand.Seed(time.Now().UnixNano()) secretNumber := rand.Intn(maxNum) //fmt.Println("The secret number is ", secretNumber)

fmt.Println("Please input your guess") reader := bufio.NewReader(os.Stdin) for { input, err := reader.ReadString('\n') if err != nil { fmt.Println("An error occured while reading input. Please try again", err) return continue } input = strings.TrimSuffix(input, "\r\n")

  guess, err := strconv.Atoi(input)
  if err != nil {
     fmt.Println("Invalid input. Please enter an integer value")
     return
     continue
  }
  fmt.Println("You guess is", guess)
  if guess > secretNumber {
     fmt.Println("Your guess is bigger than the secret number. Please try again")
  } else if guess < secretNumber {
     fmt.Println("Your guess is smaller than the secret number. Please try again")
  } else {
     fmt.Println("Correct, you Legend!")
     break
  }

} }