我正在尝试编写一个简单的程序,从终端读取用户对某些问题的一些答案。例如,查询是:
5+5
1+2
8+3
并且用户应该给出答案。我的问题是,当我使用bufio.ReadString并将输入与真实答案进行比较时,它无法正常工作,但是当我使用 scanf 时一切都很好。这是我的代码:
//scanner := bufio.NewReader(os.Stdin)
var correctAnswers int8 = 0
for _, pro := range problems {
fmt.Println(pro.question)
//answer,_ := scanner.ReadString('\n')
var idk string
fmt.Scanf("%s\n", &idk)
//print(answer)
println(pro.answer)
if idk == pro.answer {
fmt.Println("Correct :)")
correctAnswers++
} else {
fmt.Println("Sorry!")
}
}
fmt.Printf("You answered %d out of %d problems correctly \n", correctAnswers, len(problems))
如您所见,我注释掉了 bufio。有趣的是,当我打印用户给我的答案时,bufio.ReadString 正确地从终端获得了输入,但在 if 子句中它不起作用!
斯蒂芬大帝
FFIVE
随时随地看视频慕课网APP
相关分类