这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记
GO 的难点
1. go最头疼的不是语法结构,而是go是一门强类型的语言,所有类型手动转换
2. go的输入还是比较麻烦的,windows的·\r\n·是不能转为byte的只有'\n'可以
3. 变量没使用就会报错,测试难!!!为了测试要注释好多变量,我觉得没有使用定义的变量给个警告就可以了。
func main(){
var maxNum int
maxNum=100
rand.Seed(time.Now().UnixNano())
guessNum := rand.Intn(maxNum)
fmt.Println("please guss a number value range of 0-100!")
reader := bufio.NewReader(os.Stdin)
for {
readString, _, errForRead := reader.ReadLine()
if errForRead == nil {
myGuessNum, errForParse := strconv.Atoi(string(readString))
if errForParse == nil{
if solve(myGuessNum, guessNum){
break
}
}
}
}
defer func() {
fmt.Println("开始回收垃圾了")
}()
fmt.Println("运行结束!")
}
func solve(guess int,ans int) bool{
if guess>ans{
fmt.Println("猜的数字太大了!")
return false
}else if guess<ans{
fmt.Println("猜的数字太小了!")
return false
}else{
fmt.Println("恭喜猜对了,游戏结束!")
return true
}
}