fmt.Scanf问题,前面的可以输入值,后面的fmt.Scanf不能输入

liojio · · 1386 次点击
至于为什么会出错!因为scan没有提供对byte类型的反射!也就是不能赋值给byte类型,可以赋值给string类型或者uint8类型,byte是uint8的类型的别名,也就是,比如,你要接收‘a’这个byte,但是你不能再控制台输入a,这样的话就是字符串了,你要输入97,也就是输入‘a’的ascii码值!‘+’号同理!
#3
更多评论
没有人遇到过这种问题吗?
#1
当且仅当前面的输入类型不对,或者scan函数出错情况下,才会出现你的这种情况,所以,我们要捕获scan()系列方法的返回值,如果返回值不为nil,则不要再继续往下执行scan了,如果还继续scan,则会出现你的这种情况!
#2