go语言之猜数字游戏switch和if版本

猜数字游戏switch版本

package main
​
import (
   "fmt"
   "math/rand"
   "time"
)
​
func main() {
   rand.Seed(time.Now().UnixNano())//设定种子,用纳秒时间不用伪随机
   number := rand.Intn(101)//随机生成0-100的数字
   fmt.Printf("%d",number)
   fmt.Printf("请猜一个数字[0-100]:")
   for {
      var flag bool = false//设定布尔类型
      var input int //设定数字类型变量
      fmt.Scanf("%d\n", &input)//输入交互,&取出input的名称空间绑定给用户输入
      switch {//判断
      case number > input:
         fmt.Printf("输小了,请继续输入:")
      case number == input:
         fmt.Printf("输对了")
         flag = true//改变布尔值
      default:
         fmt.Printf("输大了,请继续输入:")
      }
      if flag{//如果flag为ture就跳出
         break
      }
   }
}

if....else if....else版本

package main
​
import (
   "fmt"
   "math/rand"
   "time"
)
​
func main() {
   rand.Seed(time.Now().UnixNano())//设定种子,用纳秒时间不用伪随机
   number := rand.Intn(101)//随机生成0-100的数字
   fmt.Printf("%d",number)
   fmt.Printf("请猜一个数字[0-100]:")
   for {
      var input int //设定数字类型变量
      fmt.Scanf("%d\n", &input)//输入交互,&取出input的名称空间绑定给用户输入
      if number > input {
         fmt.Printf("输小了,请继续输入:")
      }else if number == input {
         fmt.Printf("输对了")
         break
      }else {
         fmt.Printf("输大了,请继续输入:")
      }
   }
}

猜你喜欢

转载自blog.csdn.net/qq_36811322/article/details/87683423